C# 用文件上传数据
我必须将文件连同一些关于这些文件的描述一起发送到服务器。 根据上面的图片,我想上传一个文件,并在右边的文本框中提供文件的描述。单击“选择文件”链接后,用户可以选择另一个要上载的文件,该文件还将显示“说明”文本框。单击“上载文件”后,需要将文件的说明与文件一起上载到服务器。 我正在使用plupload来做这件事。但它只是上传文件,而不是描述。 另外,我正在使用MVC。因此,请建议任何解决方案,或建议任何其他javascript库,可以满足我的要求 下面是MVC代码C# 用文件上传数据,c#,jquery,asp.net-mvc,file,plupload,C#,Jquery,Asp.net Mvc,File,Plupload,我必须将文件连同一些关于这些文件的描述一起发送到服务器。 根据上面的图片,我想上传一个文件,并在右边的文本框中提供文件的描述。单击“选择文件”链接后,用户可以选择另一个要上载的文件,该文件还将显示“说明”文本框。单击“上载文件”后,需要将文件的说明与文件一起上载到服务器。 我正在使用plupload来做这件事。但它只是上传文件,而不是描述。 另外,我正在使用MVC。因此,请建议任何解决方案,或建议任何其他javascript库,可以满足我的要求 下面是MVC代码 publ
public string Upload(List<HttpPostedFileBase> fileUploads,List<string> fileDescription)
{
int count = 0;
foreach (HttpPostedFileBase file in fileUploads)
{
byte[] fileData = new byte[file.ContentLength];
file.InputStream.Read(fileData, 0, file.ContentLength);
db.UploadedFiles.AddObject(new UploadedFile
{
FileDescription = fileDescription[count],
FileBinary = fileData,
FileName = file.FileName
});
count++;
}
db.SaveChanges();
return "Success";
}
您可以修改用于上载的路由,并使用类似
...
[Route("upload/{description}")]
public HttpResponseMessage Upload(string description)
...
或者,您可以将描述放入cookie(但我建议使用第一种方法,它更干净)
然后
Request.Cookies["description"]
更新
现在我看到您需要上传多个文件,因此您可以使用相同的方法修改路由
[Route("upload")]
public string Upload(List<HttpPostedFileBase> fileUploads, [FromUri] string[] fileDescription)
[路由(“上传”)]
公共字符串上载(列表文件上载,[FromUri]字符串[]文件描述)
创建视图模型并用作动作方法中的参数
视图模型:
public class UploadViewModel
{
public List<string> FileDescriptions;
public List<HttpPostedFileBase> Files;
}
这将正确绑定数据 你能分享一下你为此做了什么吗<代码>C#&MVC代码这可能会有所帮助,但我用我的方法将所有内容都设置为空,文件上传和文件描述?您询问了如何提供描述,但并不意味着您没有找到加载任何内容的方法,请更新您的问题
[Route("upload")]
public string Upload(List<HttpPostedFileBase> fileUploads, [FromUri] string[] fileDescription)
public class UploadViewModel
{
public List<string> FileDescriptions;
public List<HttpPostedFileBase> Files;
}
public string Upload(UploadViewModel model)
{
// ....
}