gpt4 book ai didi

asp.net-mvc - 带有 jquery-file-upload Request.Files.Count 的 asp.net mvc 4 始终为 0

转载 作者:行者123 更新时间:2023-12-04 16:11:27 57 4
gpt4 key购买 nike

我目前使用 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,
});

选择图片文件时,图片可以在浏览器中预览,但在mvc Action中Request.Files.Count为0,表示没有上传文件。
如果我这样初始化:
        //$('#fileupload').fileupload();

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

我无法预览图像,但是 mvc Action 可以获取文件,有人知道为什么吗?
Controller 的邮政编码:
    [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, 0, length);

//or for creating image from stream

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

}

希望这会有所帮助。

关于asp.net-mvc - 带有 jquery-file-upload Request.Files.Count 的 asp.net mvc 4 始终为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14108545/

57 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com