gpt4 book ai didi

c# - 如何使用表单发布 MVC 将多个文件上传到服务器?

转载 作者:太空宇宙 更新时间:2023-11-03 13:36:53 25 4
gpt4 key购买 nike

我正在做一个 Asp.Net MVC-4 的项目。在我的项目用户发帖要求。帖子包含标题标签文件等。文件可以是多个,可以是任何类型,如视频、文档(ppt、excel、 pdf 等)、图片等。

我的问题是处理多个文件上传。现在首先我告诉你

目前我是如何处理的:

我正在使用 Jquery FIle Uplaod插入。通过这个插件,我按顺序将文件上传到服务器,在服务器上我用 SessionId 保存这些文件。现在当用户在那里发布需求表单时,我只是用 userId 重命名这些文件。

我的方法的缺点

首先,我必须使用 session ID 保存这些文件,然后我必须使用 userId 重命名它。因此,如果我将文件保存在 Window Azure Blob 中,而不是在那种情况下上传单个文件,我必须执行 2 个事务。首先使用 SessionId 保存 blob,然后使用 userid 重命名 blob。我认为这会导致额外的处理和额外的成本。

现在我想知道是否有任何方法可以通过表单发布上传所有文件(带有单个文件的进度条 [required])。因此,用户的需求表(标签、标题等)和所有文件一起发送到服务器,在这种情况下,我将首先将用户保存在数据库中,然后我将使用用户 ID 保存文件??

注意: 我无法使用 guid 或其他方式保存文件。文件名中需要有UserId,以唯一标识用户的文件。

最佳答案

您可以在 Controller 中使用以下代码上传

[HttpPost]
public ActionResult Index(IEnumerable<HttpPostedFileBase> files) {
foreach (var file in files) {
if (file.ContentLength > 0) {
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName);
file.SaveAs(path);
}
}
return RedirectToAction("Index");
}

更多详情 here

关于c# - 如何使用表单发布 MVC 将多个文件上传到服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18397917/

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