タイトルは少しわかりにくいですが、CSDN にその答えが記載されています。必要な方は参照してください。
質問: ファイルをアップロードするときにファイル名を変更し、ダウンロードするときに名前を元に戻したいと考えています。
例: 「My Photo.jpg」をアップロードし、アップロード後にシステム名「20040302001.jpg」に変更し、ダウンロード時に「My Photo.jpg」に戻しました。
データベースは新旧のファイル名を保存するために使用されます (すでに完了)
ただ、ダウンロード時に名前を変更することはできません。
コード:
次のようにコードをコピーします。
<%
関数 dl(f,n)
エラー時は次から再開
Set S=CreateObject( "Adodb.Stream ")
S.モード=3
S.タイプ=1
S.オープン
S.LoadFromFile(f)
Err.Number> 0 の場合
応答.ステータス = "404"
それ以外
Response.ContentType= "アプリケーション/オクテットストリーム"
Response.AddHeader "Content-Disposition: ", "attachment; filename= " & n
Range=Mid(Request.ServerVariables( "HTTP_RANGE "),7)
範囲 = " " の場合、
Response.BinaryWrite(S.Read)
それ以外
S.position=Clng(Split(Range, "- ")(0))
Response.BinaryWrite(S.Read)
次の場合に終了
終了する場合
応答.終了
終了関数
%>
関数の使用例:
次のようにコードをコピーします。
call dl(Server.MapPath( "download/20040302001.jpg "), "My Photos.jpg ")