私は反応/アプリケーションを作成してExpress.js/live reloading etc(開発用)に反応する/ PHPプロジェクト(apache上で実行されました) 。PHPを使ってcreate-react-appと画像を動的にロード
このプロジェクトでは、ユーザーからアップロードされた画像があり、ロードするファイルの名前をクエリー文字列として受け入れるphpファイル経由でドキュメントルートの外に保存されます。
file.php?image=file_name.png
その相対の反応成分は
const Img = (props) => {
const findFile =() => {
// base64
if(props.file && props.file.startsWith('data:image/')){
return props.file;
}
return "file.php?name=" + props.file + "&type=" + props.type;
};
return (
<img src={findFile()} alt={props.alt || props.file}/>
);
};
作成反応するアプリに移行した後で、私は、package.json
"proxy":"http://localhost"
ではなく、このようにプロキシを追加しました画像は、ユーザーがダッシュボードページにいるときにのみ読み込まれます。他のページでは、file.phpのパスを変更するため、イメージは機能しません。ダッシュボードで
(のhttp:/ localhostの/ AUTH)他のページで
127.0.0.1 - - [10/Oct/2017:23:59:12 +0200] "GET /file.php?name=avatar4.png&type=avatarDefaultDir HTTP/1.1" 200 12295
(例:http://localhost/auth/profile)
127.0.0.1 - - [10/Oct/2017:23:59:17 +0200] "GET /auth/file.php?name=avatar4.png&type=avatarDefaultDir HTTP/1.1" 200 27
どのように私は可能性がこの問題を解決するには?あなたはfile.phpファイルへの正しいパスを使用して、代わりにこれを想定している
return "file.php?name=" + props.file + "&type=" + props.type;
使用
return "/file.php?name=" + props.file + "&type=" + props.type;
のfile.php
への絶対パスを使用する必要が
絶対URLを使用してください – madalinivascu