如何在HTML5文件api上传的mvc3中保存文件 [英] How to save file in mvc3 which is uploaded by html5 file api

查看:59
本文介绍了如何在HTML5文件api上传的mvc3中保存文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用带有xhr = new XMLHttpRequest();的html5文件API异步上传了多个文件...
在控制器端,它以对象为对象,但由于对象不包含方法SaveAs ...
,给我错误 我的代码是...

I an uploading multiple file with asyncronusly using html5 file API with xhr = new XMLHttpRequest();...
At Controller side it takes as object but giving me error as object doesnt contain method SaveAs...
my code is...

        [HttpPost]
        public ActionResult Upload(object fileToUpload1)
        {

            var length = Request.ContentLength;
            var bytes = new byte[length];
            Request.InputStream.Read(bytes, 0, length);
            // bytes has byte content here. what do do next?

            var fileName = Request.Headers["X-File-Name"];
            var fileSize = Request.Headers["X-File-Size"];
            var fileType = Request.Headers["X-File-Type"];
           // var fileSize = Request.Headers["X-File-Size"];

            var file = Request.Headers["X-File"];
            var imagePath = Path.Combine(Server.MapPath(Url.Content("~/Uploads")), fileName);

//below it give error
            fileToUpload1.SaveAs(imagePath);
            if (fileToUpload1 == null)
            {
                return Json(true, JsonRequestBehavior.AllowGet);
            }
            else { return Json(false, JsonRequestBehavior.AllowGet); }
          
         // return Json(false, JsonRequestBehavior.AllowGet);
        }



HTML代码



HTML code

<form class="form1" enctype="multipart/form-data" method="post" action="@Url.Action("Upload")" >
                	    <input class="fileToUpload1" name="fileToUpload1" type="file" multiple="multiple" />
       </form>                 


我发送的数据也是...


also data i am sending is ...

xhr.open("POST", "@Url.Action("Upload","Home")", true);

                          // Set appropriate headers
                          xhr.setRequestHeader("Cache-Control", "no-cache");
                          xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
                          xhr.setRequestHeader("Content-Type", "multipart/form-data");
                          xhr.setRequestHeader("X-File-Name", file.fileName);
                          xhr.setRequestHeader("X-File-Size", file.fileSize);
                          xhr.setRequestHeader("X-File-Type", file.type);
                         xhr.setRequestHeader("X-File", file);

                          // Send the file (doh)
                          xhr.send(file);

推荐答案

我只是写在控制器端..
i just write at controller side..
Request.SaveAs("D:\\uploadimage\\" + fileName, false);

.
可以...

.
It works...


这篇关于如何在HTML5文件api上传的mvc3中保存文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆