这是我第一次编写允许用户下载另一个用户上传的文件的代码。
我编写了一个 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)我希望浏览器默认保存链接,而不是在浏览器窗口中打开链接。
我想要这样做是否合理,还是有更好的下载文件的方法?请告诉我。