我有一个表单,用户可以上传图像到网站。图像以二进制形式存储在表中。
我在网站上使用ajax和JQuery,它永远不会重新加载,所以当用户输入数据并按下提交时,页面不会重新加载。相反,我使用ajax将数据上传到服务器。
当我只是通过文本时,它看起来是这样的:
$("#storeDataAndImgBtn").bind("click", function () {
var msg = $("#emailMsg").val();
var from = $("#fromEmail").val();
$.ajax({
type: "POST",
url: "Default.aspx/storeDataAndImg",
data: "{\"from\":\"" + from + "\" ,\"msg\":\"" + msg + "\" ,\"value\":\" 'image should be here' \" }",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (temp) {
alert(temp.d);
$("#mailForm").fadeOut(function () {
$("#overlay").fadeOut();
});
}
});
return false;
});
我的问题是,我如何通过图像,以便可以将其存储在数据库中?
发布于 2010-08-23 19:07:25
我假设图像只是一个Input Type="File"
。如果是这种情况,由于安全原因,您不能使用Ajax访问输入字段。我认为最好的解决方案是使用IFrame
作为提交目标。它不是很漂亮,但它是有效的。
SOF - How to make Asynchronous(AJAX) File Upload using iframe
您的另一个选择是使用Flash/Silverlight/etc插件。我目前使用的是SWFUpload。
发布于 2010-08-23 15:44:56
如果可能,我建议不要将图像存储在数据库中。相反,将图像存储在服务器的文件系统中。
有关类似/相关的问题,请参阅此处:store image in database or in a system file?
https://stackoverflow.com/questions/3549129
复制相似问题