perl cgiでダウンロードさせるファイル名を指定 - end0tknrのkipple - web写経開発
以前、↑こんな感じで記載しましたが、最近、RFC6266なブラウザも増えてきたはずなので、書いてみた。
動かしていませんが、多分、↓こんな感じ
use CGI; use Encode; ## refer to RFC6266 4.3 sub get_http_download_header { my ($self,$filename) = @_; my $cp932filename = Encode::encode('cp932', $filename); my $urlencoded_utf8filename = $self->url_encode( Encode::encode('utf8', $filename) ); return header(-type=>"application/octet-stream", -Content_Disposition=> join('; ', q|attachment|, qq|filename="$cp932filename"|, qq|filename*=UTF-8''$urlencoded_utf8filename|)); }