[ASP.net] Summernote 把所有base64圖片取出來
2015-10-05
最近比較少用CKEditor 比較常用的是 SummerNote,因為她對RWD的支援會比較好一點
用法也很簡單,首先下載必要的.js 跟 .css 檔案放在專案下方
之後加入Code 在 <head></head> 裡面
<!-- include libraries(jQuery, bootstrap, fontawesome) -->
<script src="//code.jquery.com/jquery-1.9.1.min.js"></script>
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.1/css/bootstrap.min.css" rel="stylesheet">
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.1/js/bootstrap.min.js"></script>
<link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css" rel="stylesheet">
<!-- include summernote css/js-->
<link href="summernote.css" rel="stylesheet">
<script src="summernote.min.js"></script>
在body 中的 code
<div class="summernote" id="textEditor1" runat="server"></div>
<script>
//Init Summernote
$(document).ready(function () {
$('.summernote').summernote();
});
</script>
因為他處理圖片的部分會變成base64 其實這一點處理有好有壞,所以我在C#這邊寫一個function 可以幫助 把內文的圖片都取出來 變成 一個KeyValuePair<string, string>[],Key的部分我就是放base64中紀錄的格式像是jpeg, png ,然後value部分就是放入base64的內容
/// <summary>
/// Parse SummerNote Code 的base 64圖片出來
///
/// </summary>
/// <param name="summernoteCode">summernote Code</param>
/// <returns></returns>
protected KeyValuePair<string, string>[] Convert2Bitmaps(string summernoteCode)
{
var res = new List<KeyValuePair<string, string>>();
var regex = new Regex("(image/(?<FORMAT>.*?);base64,)(?<VAL1>.*?)(\\\")", RegexOptions.IgnoreCase);
MatchCollection matches = regex.Matches(summernoteCode);
if (matches.Count > 0)
{
foreach (Match m in matches)
{
Response.Write(m.Groups["VAL1"].Value);
Response.Write("<br>=========<br>");
res.Add(new KeyValuePair<string, string>(m.Groups["FORMAT"].Value, m.Groups["VAL1"].Value));
}
}
return res.ToArray();
}
程式碼如下,給有需要的人,不用再做一次
標籤:
.Net
,
ASP.net
,
C#
,
Javascript
-- Yesterday I wrote down the code. I bet I could be your hero. I am a mighty little programmer. 如果這篇文章有幫助到您,簡單留個言,或是幫我按個讚,讓我有寫下去的動力...