【发布时间】:2017-02-15 19:30:34
【问题描述】:
所以我有以下无法更改的方法:
public async Task<User> UploadSaa(string filepath, User user)
{
Assembly cesCommon = Assembly.GetExecutingAssembly();
byte[] saaBytes = null;
using (Stream saarStream = cesCommon.GetManifestResourceStream(name))
using (MemoryStream saaMemoryStream = new MemoryStream())
{
saaStream.CopyTo(saarMemoryStream);
saaBytes = saaMemoryStream.ToArray();
user.Saa = saaBytes;
}
user = await SaveNewUser(user);
return user;
}
在它以前的用法中,文件路径被直接传递给它,以便初始化数据库以进行测试。但是,现在我需要找到一种方法将变量字符串传递给 UploadSaa(), b/c 在生产中,用户将从他们自己的系统中选择他们自己的文件,我无法指定他们的文件路径。我尝试使用 OpenFileDialog,但返回的是文件,而不是路径
我的问题是:如何修改 OpenFileDialog 以接受文件路径,然后将其传递给 UploadSaa?有更好的选择吗?如果我必须修改 UploadSaa,应该进行哪些更改?
【问题讨论】:
-
AFAIK,由于安全原因,无法从浏览器传递完整的文件路径。我很困惑,为什么要获取用户的本地文件路径?
-
这样用户就可以上传一个pdf文件到数据库了。
-
我已经发布了在asp.net mvc中上传文件的答案
-
感谢大家的回复!你们都提供了一些很好的途径,在我看到最有效的方法后,我会在接下来的几个小时内接受答案!
标签: c# asp.net-mvc