jsでファイルのアップロードの進行状況を取得するにはどうすればよいですか?ファイルのアップロードの進行状況を取得するjsコード

不言
リリース: 2018-08-07 11:31:20
オリジナル
3018 人が閲覧しました

この記事の内容は、jsでファイルアップロードの進行状況を取得する方法についてです。ファイルのアップロードの進行状況を取得するための js コードです。必要な友人が参考になれば幸いです。

js ファイルアップロードの進行状況を取得する:

<input name="file" id="FileUpload" type="file" />
<input type="button" onclick="Submit()" value="提交" />
ログイン後にコピー

js モニタリング:

var xhrOnProgress=function(fun) {
	  xhrOnProgress.onprogress = fun; //绑定监听
	  //使用闭包实现监听绑
	  return function() {
	    //通过$.ajaxSettings.xhr();获得XMLHttpRequest对象
	    var xhr = $.ajaxSettings.xhr();
	    //判断监听函数是否为函数
	    if (typeof xhrOnProgress.onprogress !== &#39;function&#39;)
	      return xhr;
	    //如果有监听函数并且xhr对象支持绑定时就把监听函数绑定上去
	    if (xhrOnProgress.onprogress && xhr.upload) {
	      xhr.upload.onprogress = xhrOnProgress.onprogress;
	    }
	    return xhr;
	  }
}
ログイン後にコピー

ajax ファイルアップロード関数:

function Submit(){

		 var fileObj = document.getElementById("FileUpload").files[0]; // js 获取文件对象
		 var formFile = new FormData();
		 
         formFile.append("file", fileObj); //加入文件对象
        
          var data = formFile;
          $.ajax({
                   url: url,
                   data: data,
                   type: "Post",
                   dataType: "json",
                   cache: false,//上传文件无需缓存
                   processData: false,//用于对data参数进行序列化处理 这里必须false
                   contentType: false, //必须
                   xhr:xhrOnProgress(function(e){
		   			  var percent=e.loaded/e.total;//文件上传百分比
		   			  console.log(percent);
		   		   }),
                   success: function (result) {
                       console.log(result);
                   },
               })
	}
ログイン後にコピー

完全なコード:えー

おすすめ関連記事:

ネイティブ JavaScript を使用してカルーセル画像を実装するにはどうすればよいですか?詳細なコード説明

整数と剰余を取るjsケースの詳細な説明(コード付き)

【js】: ユーザー入力の検出、テキストボックスのデフォルトスタイル設定、全選択と反転選択を実現するテーブルスタイルの設計

以上がjsでファイルのアップロードの進行状況を取得するにはどうすればよいですか?ファイルのアップロードの進行状況を取得するjsコードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート