C# - 使用 WebImage.GetImageFromRequest() 进行多次上传

标签 c# razor file-upload webmatrix

我正在尝试从一个表单上传多张图片。然后使用 WebImage.GetImageFromRequest() 获取图像。这适用于单个上传字段,但我不确定如何使用它来获取多个文件。

我的 HTML 表单:

<input id="uploadBtn1" type="file" name="Image1" accept=".jpg,.png" class="upload"/>
<input id="uploadBtn2" type="file" name="Image2" accept=".jpg,.png" class="upload"/>
<input id="uploadBtn3" type="file" name="Image3" accept=".jpg,.png" class="upload"/>

我的 C# 代码

if (IsPost)
{
 photo1 = WebImage.GetImageFromRequest("image1");
 newFileName = Guid.NewGuid().ToString() + "_" + Path.GetFileName(photo1.FileName);
 imagePath = @"branding\" + newFileName;
 photo1.Save(@"~\" + imagePath);

 photo2 = WebImage.GetImageFromRequest("image2");
 newFileName = Guid.NewGuid().ToString() + "_" + Path.GetFileName(photo2.FileName);
 imagePath = @"branding\" + newFileName;
 photo2.Save(@"~\" + imagePath);

 photo3 = WebImage.GetImageFromRequest("image3");
 newFileName = Guid.NewGuid().ToString() + "_" + Path.GetFileName(photo3.FileName);
 imagePath = @"branding\" + newFileName;
 photo3.Save(@"~\" + imagePath);
}

这会引发错误: System.NullReferenceException:对象引用未设置到对象的实例。 第 101 行:newFileName = Guid.NewGuid().ToString() + "_"+ Path.GetFileName(photo3.FileName);

我认为我使用的语法不正确:photo1 = WebImage.GetImageFromRequest("image1");

如何指定它以获得“image1”上传字段?还有“image2”、“image3”等?

最佳答案

你包括了吗

enctype="multipart/form-data"

进入你的表单?

例子:

<form action="" method="post" enctype="multipart/form-data">  

这是一个如何遍历多个文件的例子:

https://forums.asp.net/t/2024891.aspx?WebImage+helper+multiple+image+upload

关于C# - 使用 WebImage.GetImageFromRequest() 进行多次上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47105172/

相关文章:

C# 将字符串拆分为标记的更直观方法?

c# - 如何在 ASP.NET MVC 4 中默认防止 CSRF?

c# - 路径 '/' 的 Controller 未找到或未实现 IController。在 nopCommerce 中

javascript - FileReader readAsBinaryString() 到图像 DOM 元素

c# - WPF:装饰器 HitTest /MouseDown 事件

c# - ASP.Net MVC : Submit array/collection in a single parameter

asp.net-mvc - @Html.ActionLink 如何添加查询字符串

javascript - 将对象从 cshtml View 传递到 JQuery

javascript - 使用 jQuery 文件上传无法上传文件

javascript - 使用当前时间将文件上传到文件夹