加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 带有jquery-file-upload的asp.net mvc 4 Request

发布时间:2020-12-16 03:44:58 所属栏目:asp.Net 来源:网络整理
导读:我目前正在使用asp.net mvc 4,并使用 jquery-file-upload来上传图片,如果我这样初始化: $('#fileupload').fileupload(); $('#fileupload').fileupload('option',{ //url: '/Admin/News/Create',maxFileSize: 500000000,acceptFileTypes: /(.|/)(gif|jpe?g
我目前正在使用asp.net mvc 4,并使用 jquery-file-upload来上传图片,如果我这样初始化:

$('#fileupload').fileupload();

        $('#fileupload').fileupload('option',{
            //url: '/Admin/News/Create',maxFileSize: 500000000,acceptFileTypes: /(.|/)(gif|jpe?g|png)$/i,maxNumberOfFiles: 1,resizeMaxWidth: 1920,resizeMaxHeight: 1200,});

当选择图像文件时,图像可以在borwser中预览,但在mvc Action Request.Files.Count为0时,表示没有上传文件.
如果我这样初始化:

//$('#fileupload').fileupload();

        $('#fileupload').fileupload('option',});

我无法预览图像,但mvc Action获取文件,有谁知道为什么?
控制器的邮政编码:

[HttpPost]
    [ValidateInput(false)]
    public ActionResult Create(NewsViewModel model,FormCollection form)
    {
        if (ModelState.IsValid)
        {
            //....

            // upload image
            foreach (string file in Request.Files)
            {
                HttpPostedFileBase hpf = Request.Files[file] as HttpPostedFileBase;
                if (hpf.ContentLength == 0)
                    continue;
                string path = Path.Combine(Server.MapPath("~/Uploads/News/"),GUID.NewGuid()+ Path.GetExtension(hpf.FileName));
                hpf.SaveAs(path);

                data.ImagePath = path;
                _iNewsService.UpdateNews(data);
            }
        }           
    }

解决方法

我有同样的问题,解决了以下问题:

[HttpPost]
    [ValidateInput(false)]
    public ActionResult Create(NewsViewModel model,FormCollection form)
    {                  
            var length = Request.ContentLength;
            var bytes = new byte[length];
            Request.InputStream.Read(bytes,length); 

            //or for creating image from stream 

            Bitmap bmp = new Bitmap(Bitmap.FromStream(InputStream));
            bmp.Save("some path");  

   }

希望这可以帮助.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读