本问题已经有最佳答案,请猛点这里访问。
我必须在提交表格前上传图片。所以我用Ajax来做。
这是我的帮助控制器:
[HttpPost]
public void AcceptUpload(HttpPostedFileBase TemporaryForLast, string ReferanceNo)
{
TemporaryForLast.SaveAs(Server.MapPath("~/Profiles/images/" + ReferanceNo +"/") +"HoldCopy" +".jpg");
}
这是我的观点:
ANS脚本:
$("#acceptUpload").click(function () {
var formData= new FormData();
var imagefile=document.getElementById("HoldCopy").files[0];
formData.append("imageFile",imageFile);
var xhr = new XMLHttpRequest();
xhr.open("POST","/Help/AcceptUpload", true);
xhr.addEventListener("load", function (evt) { UploadComplete(evt); }, false);
xhr.addEventListener("error", function (evt) { UploadFailed(evt); }, false);
xhr.send(formData);
});
error功能也会更新。
Ajax不支持文件上传。没人告诉你?
视图
您可以使用jquery-ajax代替jquery-ajax
function SubmitButtonOnclick()
{
var formData= new FormData();
var imagefile=document.getElementById("imageFile").files[0];
formData.append("imageFile",imageFile);
var xhr = new XMLHttpRequest();
xhr.open("POST","/Help/AcceptUpload", true);
xhr.addEventListener("load", function (evt) { UploadComplete(evt); }, false);
xhr.addEventListener("error", function (evt) { UploadFailed(evt); }, false);
xhr.send(formData);
}
function UploadComplete(evt) {
if (evt.target.status == 200)
alert("Logo uploaded successfully.");
else
alert("Error Uploading File");
}
function UploadFailed(evt) {
alert("There was an error attempting to upload the file.");
}
给出错误引用错误:没有定义imagefile formdata.append("imagefile",imagefile);
@根据您的代码,这一行将更改var imagefile=document.getElementById("HoldCopy").files[0];。
是的,我已经更改了,更改后出现了此错误
你能把你所做的更新一下代码吗
更新了!!!!!
这很奇怪,但我通过将imagefile重命名为imagefile来解决这个问题。不管怎样,我在你的帮助下解决了这个问题。非常感谢Nilesh
哦……很奇怪……不管怎样,很高兴能帮到你。