我正在创建asp.net特殊文件管理器。所有文件信息都保存到SQL Server表中。我的桌子就在这里
Table tFile(
FileID uniqueidentifier,
FileName nvarchar(50),
Extension nvarchar(50))
上传过程是:首先我插入表格行,然后将文件上传到服务器。然后将文件重命名为FileID(GUID值)。例如:4a6327c4-0596-4949-a5f2-a639e934d534.JPG
插入的表格行就像这样
4a6327c4-0596-4949-a5f2-a639e934d534 | image1 | JPG
并像这样在服务器上存档
www.domain.com/aa/Files/4a6327c4-0596-4949-a5f2-a639e934d534.JPG
我的问题是当我下载当前文件时,已下载4a6327c4-0596-4949-a5f2-a639e934d534.JPG
命名文件。我需要image1.JPG
当任何用户下载当前文件时,如何生成当前文件名,如'image1.jpg'
答案 0 :(得分:9)
有一个download.aspx页面,它将图像的GUID作为查询字符串参数。然后,您可以在数据库中查找此值以获取文件路径并将其发送到浏览器,如下所示:
Response.AddHeader("Content-Disposition", "attachment;filename=image1.jpg");
Response.ContentType = "image/jpeg";
Response.WriteFile(pathToFileOnYourServer);
您可以动态构建 filename = image1.jpg 部分,以便随意调用图像。