XMLHttpRequestのHTMLのフロントエンド()およびいるFormData()セグメントを使用すると、大きなファイルをアップロードします

 

バックエンドに大きなファイルをアップロードするためのWebページ

 

###前端代码
<
ボディ> < 入力タイプ= "ファイル" = "ビデオ" ID = "ファイル" /> < 入力タイプ= "ボタン" クラス= "BTN BTN-INFO" ID = "サブ" =」提交」> < スクリプト> $(" #sub " ).on(" クリック" 、selfile送信ボタンをクリックしたときにアップロードされた())#トリガ 機能selfile(){ constのLENGTH = 1024 * 1024 * 10 ; //各アップロードのサイズ のvar ファイル= document.getElementsByName(' ビデオ' )[ 0 ] .files [ 0 ]; // ファイルオブジェクト のvar ファイル名= document.getElementsByName(' ビデオ' )[ 0 ] .files [ 0 ] .nameの; VAR totalSize = file.size; // 合計ファイルサイズ のvar 開始= 0 ; // 各アップロードの開始バイトのため のvar 終了= スタート+ LENGTH; //各アップロードバイトの端 VAR FD = NULL ; // フォームデータオブジェクトが作成 するvar BLOB = ヌル; // バイナリオブジェクト VARのXHR = NULL ; // XHRオブジェクト ながら(スタート< totalSize){ FD = 新しい新しいいるFormData()。// それぞれが再作成する必要が XHR = 新新)(XMLHttpRequestをし; //は、各パラメータの作成および設定する必要があります xhr.open(' POST ' ' / QQQを/ ' falseに); BLOB = file.slice(開始、終了); // 取らたびにアップロードするデータの長さ fd.append(' file_data ' 、BLOBを); // オブジェクトのFDにデータを追加 fd.append(' ファイル名' 、ファイル名); // ファイルの名前を取得します fd.append(" FILE_SIZE " 、totalSizeを); xhr.send(FD); // データをアップロードするためには、fdが // 再設定の開始と終了 開始= 終了; 終了= 開始+ LENGTHを; } } </ スクリプト> </ ボディ>

 

#python后端路由视图函数代码:

DEF QQQ(リクエスト):
        FILE_PATH = " :aa.txt C " 
        オープン(FILE_PATHと" AB " :Fなど)
             のためのライン request.FILES.get(" file_data " ) :
                f.write(ライン)

 

~~~抱擁へようこそ

 

おすすめ

転載: www.cnblogs.com/dongxixi/p/11007346.html