AjaxのアップロードファイルやnodeJSレセプション

AjaxのファイルのアップロードいるFormDataを使用する必要があります

公式の紹介

キーと値のペアのオブジェクトデータにコンパイルFORMDATA使用するXMLHttpRequestデータを送信します。データを送信するためのメインフォームが、(キー付きデータ)キー入力データを送信するために使用され、独立した形で使用することができます。フォームの場合enctype属性がに設定にmultipart / form-data  、フォームが使用されるsubmit()送信データが同じ形状を有することにより、データ伝送方法のために。

リンク:https://developer.mozilla.org/zh-CN/docs/Web/API/FormData/Using_FormData_Objects

あなた自身の簡単な例を書きます:

htmlの一部:

< 本体> 
    < フォームアクション= "/" のenctype = "マルチパート/フォームデータ" ID = "フォーム" > 
        姓名:< 入力タイプ= "テキスト" 名前= "ユーザ名" ID = "" > < BR > 
        年龄:< 入力タイプ= "テキスト" 名前= "年齢" ID = "" > < BR > 
        < BR > 
        本人照片:< 入力タイプ=」「ファイル"=" IMG IDを"="= "选择照片" > < BR > < BR > 
        < 入力タイプ= "ボタン" = "确认提交" 名前= "BTN" ID = "BTN" > 
    </ フォーム> 
</ ボディ> 
< スクリプトSRC =」 ./jquery.js」> </ スクリプト> 
< スクリプト> 
    $(' #btn ' )。クリックして( 関数(){
         // 使用FORMDATAフォーム全体のデータパッケージ
        VAR inpData =  新新いるFormData(のdocument.getElementById(' フォーム' ));       
        $アヤックス({ 
            URL:' HTTP://ソウル:7777 /ファイル' 
            種類:' POST ' 
            contentTypeの:falseに
            データ:inpData、// としてラベル直接送信できるパケットの送信
            PROCESSDATAを:falseに
            成功:機能(データを){
                 IF (データ){ 
                    アラート(成功
                } {
                    アラート(' 失敗' 
                } 
            } 
        })
    })

</ スクリプト>

JSファイルサーバは、私たちは、文書やその他のデータに対処するために手ごわい受信モジュールを使用する必要があります。

コードのJS一部:

VARのhttp =( 'HTTP'に必要)。
VaRの FSの=は( 'FS'が必要です)。
VaRのサーバー= http.createServer(); 
server.listen( '7777'、関数(){ 
    にconsole.log( '欢迎来到6的世界' ); 
}); 
server.on( '要求'、関数(REQ、RES){ 
    res.setHeader( 'アクセス制御-許可原点'、 '*' );
     場合(req.url == '/ファイル' ){
         VARの FD =必要( 'C:/ユーザー/管理者/のAppData /ローミング/ NPM / node_modules /手強い' );
         VARのフォーム= 新しいですfd.IncomingFormは();
         // ファイルが文字を横切って移動された場合も、デフォルトのCドライブで、事前にファイルのパスをアップロードする必要が 
        form.uploadDir = 'E:/ IMG' ; 
        form.parse(REQ、機能(ERR、フィールズ、ファイル){
             // はconsole.log(filds); //フォームデータ
            // にconsole.log(ファイル); //データアップロードファイル
            // 指定したディレクトリにファイルをアップロードする必要が 
            fs.rename(files.img .path、 './img/' + files.img.name、関数(ERR){
                 // JSONデータを解析取得 
                fs.readFile( './ db.json'、 'UTF8'、関数(ERR、json_str) {
                     VARの json_arrは= JSON.parse(json_str);
                     //新しいデータを組み立てる
                    // ID IDがアレイ+ 1の最後の要素を取得すると、新しいアレイのID値である 
                    fields.id = json_arr [json_arr.length - 1] + 1 .ID ; 
                
                    //は、良好な画像アドレスプラス移動します新しいデータどの 
                    fields.img =「/ IMG /」+ files.img.name;
                     // 新しいデータは、アレイに追加さ
                    json_arr.push(フィールド); 

                    // バック文字列ファイル書き込みjosn用にアレイ 
                    FS。 WRITEFILE( './ db.json'、JSON.stringify(json_arr)、関数(ERR){
                         IF(!ERR){
                             // リターンメッセージ 
                            res.end(」1' ); 
                        } そう{ 
                            res.end( '0' )。
                        } 
                    })。
                }); 
            }); 
        }); 
    } 
})。

 

マルチファイルアップロード入力する必要があります:ファイルのラベルには、属性を追加multiple="multiple「(オンラインを参照)

概要:

キーはファイルAJAX FORMDATAオブジェクトをアップロードするために使用され、サーバ鍵は手強い技術的なデータ処理モジュールであり、ファイルの追加や削除、その後JSON。

おすすめ

転載: www.cnblogs.com/ruoruchujian/p/11028284.html