この記事では主にHTML5に基づいて複数の写真をアップロードする機能と、単一の写真をアップロードすることに基づいて複数の写真をアップロードする機能を紹介します。興味のある友人はそれを参照してください
写真のアップロードについては以前にも書きましたが、最近、複数のアップロードを必要とするビジネス要件があったため、
HTML 構造を書き直しました:
XML/HTML コードコンテンツをクリップボードにコピーします
<p class="container"> <label>请选择一个图像文件:</label> <input type="file" id="file_input" multiple/> </p>
ちなみに、このアップロードの主なロジックについて説明します:
· input タグ を使用し、type=file を選択することを忘れないでください。そうでない場合は、画像を 1 つだけ選択できます
· の変更時間をバインドします。重要な点は、この変更
イベントをどのように処理するかです。H5 の新しい FileReader インターフェースを使用してファイルを読み取り、base64 にエンコードします。次に、バックエンドのクラスメートと対話します。 JS コード:
window.onload = function(){ var input = document.getElementById("file_input"); var result,p; if(typeof FileReader==='undefined'){ result.innerHTML = "抱歉,你的浏览器不支持 FileReader"; input.setAttribute('disabled','disabled'); }else{ input.addEventListener('change',readFile,false); }<br> //handler function readFile(){ for(var i=0;i<this.files.length;i++){ if (!input['value'].match(/.jpg|.gif|.png|.bmp/i)){ //判断上传文件格式 return alert("上传的图片格式不正确,请重新选择")<br> } var reader = new FileReader(); reader.readAsDataURL(this.files[i]); reader.onload = function(e){ result = '<p id="result"><img src="'+this.result+'" alt=""/></p>'; p = document.createElement('p'); p.innerHTML = result; document.getElementById('body').appendChild(p); //插入dom树 <br> } } } }
実際には、ファイルをファイルに送信しています。 function
の処理でバックエンドにqueue を送信すると、バックエンド スチューデントは MD5 暗号化されたファイルとそのファイルに対応するパスをフロントエンドに返し、フロントエンドはこのパスを取得して、ページ。 次に、MD5 ファイルをバックエンドに転送します。アップロード後、通常、フロントエンドには delete
images の操作があるためです。返す目的は、それらの画像が必要なものであることを確認するようにバックエンドに指示することです。バックエンドはそれらをデータベースに保存します。JavaScriptコード
を送信し、成功コールバックで目的のデータを取得した後、前の方法と同様に画像をページに挿入できることを意味します ~ 最終レンダリング: 【関連おすすめ】 1. 4. H5 28 の重要な新機能、新しいトリック、新しいテクノロジーについての非常に詳細な説明 以上がH5 による複数の画像アップロードを完了する例の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。function readFile(){
var fd = new FormData();
for(var i=0;i<this.files.length;i++){
var reader = new FileReader();
reader.readAsDataURL(this.files[i]);
fd.append(i,this.files[i]);<br> }
$.ajax({
url : '',
type : 'post',
data : fd,
success : function(data){
console.log(data)
}
})
}