![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
cakephpで画像のダウンロード機能を実装しています。
webroot/imgに画像は入っています。 controllerで
public function download($filename = null){
$this->autoRender = false;
$this->response->file('img/' . $filename);
$this->response->download($filname);
}
とし、
viewで
<?php
echo $this->Html->link('ダウンロード', array('controller' => 'images','action' => 'download', $image['Model']['filename']));
?>
このようにリンクしています。
ファイル名が英語の画像は問題なくダウンロードできるのですが、ファイル名が日本語の画像がダウンロードできません。
The requested file img/日本語ファイル名.jpg was not found or not readable
Error: The requested address '/illusts/image/%~.jpg' was not found on this server.
リンクをクリックするとこのように表示されます。
webroot/imgにはちゃんと画像は入っているのですが・・・。
どのようにしたら、日本語名のファイルもダウンロードできるようになるのでしょうか。
どなたかご教授ください。
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
この回答への補足
ご回答ありがとうございます。
アドバイス頂いた通り、$filenameをshift_jisにしてダウンロードのリンクをクリックしたところ、
The requested file img/日本語ファイル名.jpg was not found or not readable
の表示は消えました。
ただ、
Error: The requested address '/illusts/image/%~.jpg' was not found on this server.
は表示されたままでして…。
image/の後の%~.jpgが原因だとは思うのですが、何か対処法ご存知でしょうか。
もしよろしければ、よろしくおねがいします。
No.1
- 回答日時:
>日本語名のファイルもダウンロードできるようになるのでしょうか。
原則「日本語ファイル名をつかわない」の言うのが妥当な回答です
インターネットの仕組み上日本語ファイルはよほどユーザーの環境を制限しない限り
ただしくアクセスすることは難しいです(たとえばIE限定とか)
またサーバー上におかれるファイル名も念のためなんらかのエンコードした形式に
変更しておき、ダウンロードの際にデコードするなり名前をつけかえるなり
工夫が必要でしょう。(phpであればurlencodeなど)
ご回答ありがとうございます。
やはり日本語ファイル名を使わないことが1番ですよね。
ただ、もし方法があるなら…と思いまして…。
urlencode参考にさせて頂きます!
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- その他(SNS・コミュニケーションサービス) 自分のpcがハッキングされたようなメールが来たのですがどうすればいいですか? 4 2022/10/02 16:14
- PHP imageフォルダに、画像をリサイズして保存する時のファイル名を変更したい 1 2023/05/30 11:39
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- PHP 画像ファイルの名前をそのままURLにする 3 2022/10/16 11:18
- その他(クラウドサービス・オンラインストレージ) firestorage_androidスマホでダウンロードできない 1 2022/10/25 08:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
zip圧縮の種類について
-
libxml2のインストール
-
【PHP】ダウンロードサイト作成...
-
phpでの帯域制御、ダウンロード...
-
Excelファイルをダウンロード
-
VB.NETのFTPダウンロードについて
-
レッツPHP!さんのダウンロード...
-
サーバー上のファイルをブラウ...
-
csvをダウンロードする際、いき...
-
PHPで複数ファイルをZIPで圧縮...
-
DBからCSV出力する方法
-
PHPでネット上のPDFファイルを保存
-
PDF ダウンロード
-
・オブジェクト指向のメリット...
-
onedrive にexcelファイルをア...
-
CFileDialogの最初のディレクト...
-
FTPコマンドでディレクトリごと...
-
VBSの「MsgBox」について
-
3つ以上の論理積は利用可能なの...
-
ラッパークラスって何ですか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPで複数ファイルのダウン...
-
複数ファイルを連続でダウンロード
-
zip圧縮の種類について
-
phpでうまく画像がダウンロード...
-
ファイル一覧を表示しその画面...
-
VB.NETのFTPダウンロードについて
-
eclipseでコメントアウトができ...
-
PHPでファイルのダウンロードす...
-
libxml2のインストール
-
【PHP】ダウンロードサイト作成...
-
phpでzipファイルダウンロード...
-
PHPでネット上のPDFファイルを保存
-
ブラウザでExcelをダウンロード...
-
PHPでファイルをダウンロードさ...
-
複数ファイルのダウンロード
-
PHP 検索結果のCSVダウンロード
-
csvをダウンロードする際、いき...
-
CSVファイルをダウンロード時の...
-
ftp_getでローカルにファイルが...
-
Excelファイルをダウンロード
おすすめ情報