这是我第一次编写代码,允许用户下载其他用户上传的文件。如何指定用户通过ASHX下载器下载的文件的名称?
我已经写了一个ASHX文件,download.ashx,其代码如下所示:
s = context.Request.QueryString.ToString();
byte[] buffer = new ReplacementTicketFileIO().GetSpecifiedFile(s);
context.Response.BinaryWrite(buffer);
context.Response.Flush();
context.Response.End();
当链路用户点击与适当的查询字符串download.ashx,文件下载,但浏览器想要在浏览器窗口中显示内容。如果用户右键单击该链接,他可以下载该文件,但该文件的名称默认为download.ashx。
我想完成两两件事:
1)我想是能够指定下载基于查询字符串在用户的设备上的文件的默认名称。例如,如果用户点击download.ashx?linkedfile = car.pdf,我希望浏览器默认为car.pdf作为此文件的名称。
2)我希望浏览器默认保存链接,而不是在浏览器窗口中打开链接。
我想要这样做还是有更好的方式来下载文件是合理的吗?请告诉我。
+1:非常感谢! –