程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了asp.net MVC中的jQuery Ajax上传文件大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决asp.net MVC中的jQuery Ajax上传文件?

开发过程中遇到asp.net MVC中的jQuery Ajax上传文件的问题如何解决?下面主要结合日常开发的经验,给出你关于asp.net MVC中的jQuery Ajax上传文件的解决方法建议,希望对你解决asp.net MVC中的jQuery Ajax上传文件有所启发或帮助;

在ASP.Net MVC中使用AJAX上传文件

自HTML5以来情况发生了变化

document.getElementByID('uploader').onsubmit = function () {
    var formdata = new FormData(); //FormData object
    var fileinput = document.getElementByID('fileinput');
    //IteraTing through each files SELEcted in fileinput
    for (i = 0; i < fileinput.files.length; i++) {
        //Appending each file to FormData object
        formdata.append(fileinput.files[i].name, fileinput.files[i]);
    }
    //CreaTing an XMLhttprequest and sending
    var xhr = new XMLhttprequest();
    xhr.open('POST', '/Home/Upload');
    xhr.send(formdata);
    xhr.onreadystatechange = function () {
        if (xhr.readyState == 4 && xhr.status == 200) {
            alert(xhr.responseText);
        }
    }
    return false;
}

public JsonResult Upload()
{
    for (int i = 0; i < request.files.Count; i++)
    {
        httpPostedfileBase file = request.files[i]; //Uploaded file
        //Use the following propertIEs to get file's name, size and MIMEType
        int fileSize = file.ContentLength;
        String filename = file.filename;
        String mimeType = file.ContentType;
        System.IO.Stream fileContent = file.inputStream;
        //To save file, use SaveAs method
        file.SaveAs(Server.MapPath("~/")+ filename ); //file will be saved in application root
    }
    return Json("Uploaded " + request.files.Count + " files");
}

<form ID="uploader">
    <input ID="fileinput" type="file" multiple>
    <input type="submit" value="Upload file" />
</form>

解决方法

我认为有一个文件

<form id="upload" enctype="multipart/form-data">
   <input type="file" name="fileUpload" id="fileUpload" size="23" />
</form>

和一个ajax请求

$.ajax({
    url: '<%=Url.Action("JsonSave","Survey")  %>',dataType: 'json',processData: false,contentType: "multipart/mixed",data: {
        Id: SELEctedRow.Id,Value: 'some date was added by the user here :))'
    },cache: false,success: function (data) {}
});

但是 request.Files中 没有文件。Ajax请求出了什么问题?

大佬总结

以上是大佬教程为你收集整理的asp.net MVC中的jQuery Ajax上传文件全部内容,希望文章能够帮你解决asp.net MVC中的jQuery Ajax上传文件所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。