【发布时间】:2018-05-22 12:30:07
【问题描述】:
我在控制器中有一个下载配置的功能:
public FileStreamResult SaveData()
{
var toJson = JsonConvert.SerializeObject(this.GetData());
var byteArray = System.Text.Encoding.ASCII.GetBytes(toJson);
var stream = new MemoryStream(byteArray);
string fileName = "Configuration.json";
this.GetData().Save = false;
return new FileStreamResult(stream, "text/html")
{
FileDownloadName = fName
};
}
它工作正常,但唯一的问题是它会自动下载文件。我想为用户提供更新名称和设置下载位置的可能性,即我希望在下载之前弹出一个“另存为”对话框。
我查看了多个来源,但找不到适用的内容。任何人都可以建议,应该怎么做?
提前致谢。
【问题讨论】:
-
听起来更像是浏览器首选项设置,您无法通过代码进行控制。例如,在 Chrome 中,我相信默认设置是自动下载,您(作为用户)可以更改设置以提示另存为。所以我想问题是:你在哪些浏览器上试过这个?您是否尝试过多种浏览器?
-
完全同意@musefan 关于这一点。我前段时间看过它,不幸的是,另存为对话框是一个浏览器实现,您无法控制。
-
@musefan,谢谢。我通过 Chrome 和 Mozilla 尝试过,它会打开一个弹出窗口,询问是否保存或打开,但无法更改文件名
标签: c# asp.net-mvc filestream filestreamresult