在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);
}
如何从字节数组中下载文件?我试过搜索方法,但它都需要一个文件路径,我不能提供该文件路径,因为该对象是一个字节数组。
答案 0 :(得分:1)
我不确定你究竟是什么问题,但是下面应该将字节数组写入输出流。您可能需要文件名的“content-disposition”标题和“content-type”才能让浏览器提供“下载”而不是直接尝试打开:
Response.OutputStream..Write(fileContent , 0, fileContent .Length);