如何在javascript/jquery中读取图像数据/从图像中获取二进制数据,而无需任何文件API
我正在使用IE8,因此任何文件API都不适用于我。我希望能够读取图像数据/获取其二进制数据,以便将其传递给创建图像的Web服务 这是我的html和javascript代码:如何在javascript/jquery中读取图像数据/从图像中获取二进制数据,而无需任何文件API,javascript,jquery,ajax,image,binary,Javascript,Jquery,Ajax,Image,Binary,我正在使用IE8,因此任何文件API都不适用于我。我希望能够读取图像数据/获取其二进制数据,以便将其传递给创建图像的Web服务 这是我的html和javascript代码: <input name="file" type="file" /> <input type="submit" value="Submit" id="submitBtn"/> 请帮忙,我已经找了好几天的答案了。。谢谢大家! *注意:我故意删除了上面的数据字段空白,因为我不知道如何将图像的二进制数据传递
<input name="file" type="file" />
<input type="submit" value="Submit" id="submitBtn"/>
请帮忙,我已经找了好几天的答案了。。谢谢大家!
*注意:我故意删除了上面的数据字段空白,因为我不知道如何将图像的二进制数据传递给webservice
<script type="text/javascript">
$(document).ready(function () {
$("#submitBtn").click(function () {
var fileStream = $("#file").val();
$.ajax({
type: "POST",
data: ,
dataType: "image/gif",
url: "http://localhost/WebServices/Upload.asmx/ByteArrayToImage",
contentType: "application/x-www-form-urlencoded",
success: function () {
alert('yes');
},
error: function () {
alert('bouh');
}
});
});
});
</script>
public static System.Drawing.Image ByteArrayToImage(byte[] bArray)
{
if (bArray == null)
return null;
System.Drawing.Image newImage;
try
{
using (MemoryStream ms = new MemoryStream(bArray, 0, bArray.Length))
{
ms.Write(bArray, 0, bArray.Length);
newImage = System.Drawing.Image.FromStream(ms, true);
}
}
catch (Exception ex)
{
newImage = null;
//Log an error here
}
return newImage;
}