我正在使用IE8,因此我无法使用任何File API。我想能够读取图像数据/获取其二进制数据,以便我可以将其传递给我的webservice,从而创建一个图像。
这是我的html和javascript代码:
<input name="file" type="file" />
<input type="submit" value="Submit" id="submitBtn"/>
的javascript:
<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>
我知道上面的代码不起作用,因为$(“#file”)。val()只会给我一个假路径。这就是我需要知道如何获取二进制数据的原因。
我的网络服务代码:
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;
}
请帮助,我一直在寻找天的答案..谢谢!
*注意:我故意删除上面的数据字段空白,因为我不知道如何将图像的二进制数据传递给webservice