【发布时间】:2013-05-06 06:53:36
【问题描述】:
我有一个 div,里面有一张图片。在 javascript 中,我得到了 div,并将 div 的 innerHTML 发送到服务器。下面的javascript过于简单:
function uploadImage() {
var imageInfo = document.getElementById('divImage').innerHTML;
PageMethods.uploadImage(imageInfo, onSuccess, onError);
} //end function
我目前在服务器上接收这个作为字符串。
[WebMethod]
public static string uploadImage(string base64FileString){...}
结果如下:
<img height="150" width="150" title="name.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA...../>
我需要将此图像保存到磁盘,但我不知所措。据我了解,我可以通过“base64”(使用拆分)获取所有内容并使用以下内容创建图像:
// Convert Base64 String to byte[]
byte[] imageBytes = Convert.FromBase64String(base64FileString);
MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes.Length);
// Convert byte[] to Image
ms.Write(imageBytes, 0, imageBytes.Length);
System.Drawing.Image image = System.Drawing.Image.FromStream(ms, true);
image.Save(.....);
但这似乎非常低效。有没有更好的方法从字符串创建图像,更好的接收字符串的方法,或者更好的传递字符串的方法?
【问题讨论】:
标签: c# javascript image upload base64