0

ボタンをクリックして開くウィンドウから画像を選択します。次に、選択した画像を表示します。divを作成してから、画像要素を作成します。アップロードされたファイルソースから画像のソースを取得し、それをdivに追加します。サーバーがなくても正常に動作しますが、ウィンドウでブロックされたコンテンツの入力を求められ、許可します。しかし、サーバーで実行すると、画像が表示されません。許可は求められません!クロームとFirefoxではすべてが正常に機能します!

ここにいくつかのコードがあります、

if(document.all) {
        var image = document.createElement("img");
        image.src = document.getElementById('fileElem').value;
        }
thumbnail.appendChild(image);
4

1 に答える 1

0

従来、ローカルファイルシステム内の指定されたファイルへのフルパスを返す属性が<input type="file" />あったため、これは古いブラウザでは機能していました。valueただし、2006年頃(IE7 +、Firefox 2 +、Chromeなど)以降、ブラウザは完全なファイルパスを提供しなくなり、ディレクトリ情報なしでファイルの名前のみを提供します。これは、ユーザーのプライバシーを保護するためです(たとえば、アップロードされた「マイドキュメント」ファイルにユーザーの実際の名前が含まれている可能性があるため)。

これは、アップロードされたファイル(ブラウザがPOSTリクエストで完全なファイルパスを送信しなくなったため、サーバー側のコードはファイル名とファイルデータのみを取得します)とローカルスクリプト(自分で経験している)の両方に影響します。

于 2012-07-30T12:08:28.020 に答える