当Web服务器将文件流式传输到客户端时,您无法控制目标文件夹。所有你能做的就是:
- 指定内容类型(以帮助客户在决定如何处理)
- 指定文件名
- (我认为)告诉客户端浏览器将文件保存与展示它(例如,PDF通常显示在浏览器中,但正确设置流可能会强制保存文件对话框)
如果您需要“缓存”文件离开Web服务器,您导出到服务器进程已写入permis的服务器文件夹sions去。然后你流到客户端 - 客户端将从浏览器获得提示并保存在他们想要的地方。
例如,看看Server.MapPath
- 它会将虚拟路径映射到服务器上的物理路径。权限问题依然存在。
根据您的具体情况,如果导出库有返回字节数组或流的方式,而不是保存到文件,则可以避免保存到服务器。在这种情况下,您只需将返回结果传送给请求者。
我不熟悉您使用的SDK,但快速谷歌搜索揭示了一个流将文档返回的这个方法:
using (MemoryStream stream = new MemoryStream())
{
using (SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Create(stream, SpreadsheetDocumentType.Workbook, true))
{
... work with the spreadsheetDocument, if needed
... prepare and stream to browser
}
}
Here's引用到你的SDK,我发现
请给予更多信息。你正在建立一个网站,一个Windows窗体等... –
所以你想从一个['SaveFileDialog'](http://msdn.microsoft.com/en-us/library/system.windows.forms.savefiledialog(v = vs.110).aspx)?你遇到了什么问题? –
这个问题被标记为asp.net,我不知道这是否正确 – Liath