ホームページ ウェブフロントエンド jsチュートリアル ネイティブ JavaScript は、非同期の複数ファイルの Upload_JavaScript スキルを実装します。

ネイティブ JavaScript は、非同期の複数ファイルの Upload_JavaScript スキルを実装します。

May 16, 2016 pm 03:28 PM
javascript ファイルのアップロード

これは前の記事の修正版です。バックグラウンド コードが変更されていない限り、引き続き使用できますが、スクリプトでは jQuery が使用されなくなり、ネイティブ JavaScript コードに置き換えられるため、主に JS コードを確認します。

最初に技術パラメータを紹介します:

ページテクノロジー: HTML5

バックエンドテクノロジー: サーブレット 3.0

サーバー: Tomcat 7.0

スクリプト: JavaScript

HTML5 ファイルコンポーネントの新しい属性

accept : この属性をファイルコンポーネントに追加すると、アップロードされるファイルの種類を直接制御でき、非常に便利です。

multiple: 複数のファイル選択を許可するかどうか
HTML5 ページのコードが変更されました

1

2

3

4

5

6

<img width="400" height="250"/><br />

<input type="file" id="pic" name="pic" onchange="printFileInfo()" accept="image/*" multiple="multiple"/>

<input type="button" value="上传图片" onclick="uploadFile()" /><br />

<div id="parent">

  <div id="son"></div>

</div>

ログイン後にコピー

accept の値は、IANA MIME タイプ (標準 MIME タイプの完全なリスト) にあります。DW 開発を使用している場合は、ソフトウェア自体にプロンプ​​トが表示されます。

複数のファイルを選択した場合、JS を使用してループで印刷し、ファイルの名前、タイプ、サイズを確認できます。デモ コードを参照してください。

1

2

3

4

5

6

7

8

9

10

11

12

function printFileInfo(){

  

 var picFile = document.getElementById("pic");

 var files = picFile.files;

 for(var i=0; i<files.length; i++){

  var file = files[i];

  var div = document.createElement("div")

  div.innerHTML = "第("+ (i+1) +") 个文件的名字:"+ file.name +

  " , 文件类型:"+ file.type +" , 文件大小:"+ file.size

  document.body.appendChild( div)

 }

}

ログイン後にコピー

複数のファイルをループできるようになったので、複数のファイルをアップロードしてみてください。

1. まず XMLHttpRequest オブジェクト

を作成します。

//これはグローバル変数です。サンプルなのでブラウザの種類を判断するものではありません。IEの下位バージョンでこのように書くと問題が発生します
。 var xhr = 新しい XMLHttpRequest()
2. 前回の記事では進捗イベント(Progress)を紹介しましたが、今回はprogressとerrorの2つのイベントが実装されます

error: リクエストでエラーが発生したときにトリガーされます。

アップロード中のエラーによるアップロード失敗に対応: UploadFailed()

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

//上传失败

function uploadFailed(evt) {

 alert("上传失败");

}

  progress:在接收相应期间持续不断触发。

 

      对应上传进度方法:onprogress()

/**

 * 侦查附件上传情况 ,这个方法大概0.05-0.1秒执行一次

 */

function onprogress(evt){

 var loaded = evt.loaded;       //已经上传大小情况

 var tot = evt.total;       //附件总大小

 var per = Math.floor(100*loaded/tot);   //已经上传的百分比

  $("#son").html( per +"%" );

 $("#son").css("width" , per +"%");

}

ログイン後にコピー

最後のステップはアップロード メソッドです。通常に使用するには、上記の HTML コードのアップロード メソッドも、uploadFile() メソッドに変更する必要があることに注意してください。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

//上传文件

function uploadFile() {

  //将上传的多个文件放入formData中

 var picFileList = $("#pic").get(0).files;

 var formData = new FormData();

 for(var i=0; i< picFileList.length; i++){

  formData.append("file" , picFileList[i] );

 }

 

 //监听事件

 xhr.upload.addEventListener("progress", onprogress, false);

 xhr.addEventListener("error", uploadFailed, false);//发送文件和表单自定义参数

 xhr.open("POST", "upload");

 //记得加入上传数据formData

   xhr.send(formData);

}

ログイン後にコピー

追伸: 結局のところ、これは基本的な機能のデモ例にすぎません。企業のプラットフォームで使用する場合は注意してください。

この記事を組み合わせて学習できます: HTML5 に基づいて Ajax ファイルアップロードの進行状況バーを実装する方法 (jquery バージョン)

以上がこの記事の全内容です。皆様の学習のお役に立てれば幸いです。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 Dec 17, 2023 pm 02:54 PM

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 はじめに: 技術の継続的な発展により、音声認識技術は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音声認識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法を紹介します。

WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー Dec 17, 2023 pm 05:30 PM

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

gRPC を使用して Golang でファイルのアップロードを実装するにはどうすればよいですか? gRPC を使用して Golang でファイルのアップロードを実装するにはどうすればよいですか? Jun 03, 2024 pm 04:54 PM

gRPC を使用してファイルのアップロードを実装するにはどうすればよいですか?リクエストおよびレスポンスメッセージを含むサポートサービス定義を作成します。クライアントでは、アップロードされるファイルが開かれてチャンクに分割され、gRPC ストリーム経由でサーバーにストリーミングされます。サーバー側では、ファイル チャンクが受信され、ファイルに保存されます。ファイルのアップロードが完了すると、サーバーはアップロードが成功したかどうかを示す応答を送信します。

JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 Dec 17, 2023 pm 12:09 PM

JavaScript と WebSocket を使用してリアルタイム オンライン注文システムを実装する方法の紹介: インターネットの普及とテクノロジーの進歩に伴い、ますます多くのレストランがオンライン注文サービスを提供し始めています。リアルタイムのオンライン注文システムを実装するには、JavaScript と WebSocket テクノロジを使用できます。 WebSocket は、TCP プロトコルをベースとした全二重通信プロトコルで、クライアントとサーバー間のリアルタイム双方向通信を実現します。リアルタイムオンラインオーダーシステムにおいて、ユーザーが料理を選択して注文するとき

WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 Dec 17, 2023 am 09:39 AM

WebSocket と JavaScript を使用してオンライン予約システムを実装する方法 今日のデジタル時代では、ますます多くの企業やサービスがオンライン予約機能を提供する必要があります。効率的かつリアルタイムのオンライン予約システムを実装することが重要です。この記事では、WebSocket と JavaScript を使用してオンライン予約システムを実装する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は、単一の TCP 接続における全二重方式です。

Golang関数でファイルアップロード処理を簡素化 Golang関数でファイルアップロード処理を簡素化 May 02, 2024 pm 06:45 PM

回答: はい、Golang はファイルのアップロード処理を簡素化する機能を提供します。詳細: MultipartFile タイプは、ファイルのメタデータとコンテンツへのアクセスを提供します。 FormFile 関数は、フォーム要求から特定のファイルを取得します。 ParseForm 関数と ParseMultipartForm 関数は、フォーム データとマルチパート フォーム データを解析するために使用されます。これらの機能を使用すると、ファイル処理プロセスが簡素化され、開発者はビジネス ロジックに集中できるようになります。

Golang でドラッグ アンド ドロップ ファイル アップロードを実装するにはどうすればよいですか? Golang でドラッグ アンド ドロップ ファイル アップロードを実装するにはどうすればよいですか? Jun 05, 2024 pm 12:48 PM

Golang でドラッグ アンド ドロップ ファイルのアップロードを実装するにはどうすればよいですか?ミドルウェアを有効にし、ファイルのアップロード要求を処理します。ドラッグ アンド ドロップ領域の HTML コードを作成し、ドラッグ アンド ドロップ イベントを処理するための JavaScript コードを追加します。

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 Dec 17, 2023 pm 05:13 PM

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 はじめに: 今日、天気予報の精度は日常生活と意思決定にとって非常に重要です。テクノロジーの発展に伴い、リアルタイムで気象データを取得することで、より正確で信頼性の高い天気予報を提供できるようになりました。この記事では、JavaScript と WebSocket テクノロジを使用して効率的なリアルタイム天気予報システムを構築する方法を学びます。この記事では、具体的なコード例を通じて実装プロセスを説明します。私たちは

See all articles