2017-07-13 8 views
1

私は実際にファイルをアップロードするのに<input type="file">を使うことができると思っていたし、それをdocument.write()を使ってサイトに入れることにした。基本的には、ある種の一時的な(または永続的な、何でも)イメージを探しています。ファイルをアップロードすると、複雑な処理、リダイレクト、またはHTMLやJS以外の言語を使わずにページに表示されます。助言がありますか?HTMLで画像をアップロードし、JSでサイトでプレビューするにはどうすればよいですか?

+0

あなたはそれを表示するためにそれをアップロードする必要はありません。 FileReaderを使用してdataURL、またはwindow.URLとblobを取得するだけです。 – dandavis

+0

@dandavis AFAIKあなたが持っているものはすでに 'File'オブジェクトなので、' FileReader'は必要ありません。 'File'は' Blob'を拡張しているので、そこからdataURLを直接作ることができます。 –

+1

ファイルを本当にアップロードしたい場合は、サーバー側のコードを記述する必要があります。上記のDanとJohnが言ったように、選択したイメージをページに表示したい場合は、JSだけでも可能です:https://stackoverflow.com/questions/17138244/how-to-display-selected-image-データをサーバーに送信しないで –

答えて

4

function preview(){ 
 
    var file = document.getElementById("file").files[0]; 
 
    var reader = new FileReader(); 
 
    if (file) { 
 
    reader.readAsDataURL(file); 
 
    reader.onloadend = function() { 
 
     document.getElementById("img").src = reader.result; 
 
    } 
 
    } 
 
}
<input type="file" id="file" accept="image/*" onchange="preview()"/> 
 
<br> 
 
<img id="img"/>

関連する問題