【发布时间】:2014-01-30 03:16:05
【问题描述】:
在 Microsoft CRM 中,我们有一个应获取和下载的附件。所以我有一个字节数组代表获取的文件:
byte[] fileContent = Convert.FromBase64String(query.DocumentBody);
如果我使用这个代码,当然可以下载它,但文件路径应该是硬编码的(比如C:/<folder name>/),我不希望这样。
using (FileStream fileStream = new FileStream(path + query.FileName, FileMode.OpenOrCreate))
{
byte[] fileContent = Convert.FromBase64String(query.DocumentBody);
fileStream.Write(fileContent, 0, fileContent.Length);
//Response.OutputStream.WriteByte(fileContent);
}
如何从字节数组下载文件?我已经尝试过寻找方法,但它都需要一个文件路径,并且我无法提供该文件路径,因为该对象是一个字节数组。
【问题讨论】:
-
我查看了这些链接,就像我在帖子中所说的那样,我不想提供应该保存下载的路径。我希望它默认保存在默认下载文件夹中。现在我正在以硬编码的方式进行操作,它将保存在驱动器 C:/ 上,它会带来安全和访问问题。
-
我想我完全错过了你的问题。您正在编写什么样的应用程序/站点,您希望将文件存储在特定路径的什么位置(服务器/带有浏览器的机器/其他地方)?
-
我希望将它(字节数组中的文件)存储到访问该站点的客户端计算机的默认下载文件夹中。
-
你无法控制它。除了提供带有“content-disposition”标头的推荐文件 name 之外,您无能为力。