给定:服务器上所有上传的pdf文件都带有时间戳前缀.以后用户可以再次下载这些文件.这些(丑陋)文件名永远不会在服务器上再次更改.
问题:当我提供下载PDF文件的选项时,该文件的名称看起来很丑陋和冗长.如何将此名称更改为合理的名称,以便在用户下载此文件时,名称看起来并不奇怪?
我是否需要制作副本,因为重命名原始文件不是一种选择?这不是每个可下载文件的额外开销吗?显然删除复制的文件将是另一个额外的步骤?
一旦文件在客户端完全下载,是否可以重命名文件?
你们有什么建议?
我有一个名为AttachmentDownload.aspx的文件,里面的Page_Load方法有这样的代码提供下载文件.所有名称在IE中都能正常工作,但名称中包含";" 要么 "#".它们为用户提供了名为"AttachmentDownload.aspx"的文件保存.这有解决方法吗?
这是一个例子:
var fileName = Server.UrlPathEncode (";%.txt");
Response.AddHeader("content-disposition", String.Format("attachment;filename=\"{0}\"", fileName));
Response.WriteFile(path);
Response.End();
Run Code Online (Sandbox Code Playgroud)