【发布时间】:2018-03-22 13:47:19
【问题描述】:
所以我有一个屏幕,用户可以在其中构建、发送电子邮件和附加文件。当他们点击发送时,我想把他们带到一个屏幕,他们可以在发送之前查看电子邮件。 (此审查屏幕是只读的,所有数据都在隐藏输入中)
我可以将我的所有数据传递到审核屏幕,但是当我点击发送并提交表单时,我失去了对我上传文件的引用,而其他一切都很好。
我知道我可以将文件存储在 TempData 中并再次检索它们,但我认为我可以在视图上执行此操作。
我在评论视图中尝试隐藏HttpPostedFileBase[] Files 的输入
int filePos = 0;
foreach (var n in Model.Files)
{
<input class="hidden" name="Files[@filePos].ContentLength" value="@Model.Files[filePos].ContentLength" />
<input class="hidden" name="Files[@filePos].ContentType"value="@Model.Files[filePos].ContentType" />
<input class="hidden" name="Files[@filePos].FileName" value="@Model.Files[filePos].FileName"/>
<input class="hidden" name="Files[@filePos].InputStream" value="@Model.Files[filePos].InputStream"/>
filePos++;
}
当我在回发时检查模型时,HttpPostedFileBase[] Files 有两个对象,但都是空的。我觉得它的 InputStream 部分不允许它工作,因为它本身就是一个对象。
有谁知道如何使用此方法或有更好的文件维护解决方案?
【问题讨论】:
-
你可能想看看this GitHub project
标签: c# html asp.net-mvc file httppostedfilebase