HTML 5+AJAXオリジナルブロックアップロードファイルのキーパラメータ設定
2187 ワード
processData:false
これはjqueryです.ajaxのパラメータです.デフォルト値はtrueで、非文字列オブジェクトが自動的にk 1=v 1&k 2=v 2の形式になることを示します.例えば、配列パラメータ{d:[1,2]}は、サービス側に着くとd[]=1&d[]=2の形式になります.
ArrayBufferオブジェクトをアップロードするにはfalseに設定する必要があり、サービス側はRequestから直接アップロードする.InputStreamは、元のバイトストリームを取得します.
w 3 school解釈:
プライマリ・コード:(次のコードは、FileReaderの非同期メソッドのReadAsArrayBufferの完了イベントonloadで呼び出されます.thisは現在のreaderを指します)
サービス側はファイル類の内容を受け入れる:
HTML 5のみFileReaderオブジェクトがあるため、HTML 5のみがJSオリジナルブロックアップロードファイルをサポートします.
前回はWebSocketベースのオリジナルブロックを使用してファイルをアップロードする方式でもHTML 5のみがサポートされていました.
http 1のため.1デフォルトkeep-liveプロパティでは、リクエストごとに接続を再確立することはありません.したがって、サービス側ではwebsocketを使用できないシナリオですが、クライアントがhtml 5をサポートしている場合はajaxオリジナルブロックでアップロードできます.
これはjqueryです.ajaxのパラメータです.デフォルト値はtrueで、非文字列オブジェクトが自動的にk 1=v 1&k 2=v 2の形式になることを示します.例えば、配列パラメータ{d:[1,2]}は、サービス側に着くとd[]=1&d[]=2の形式になります.
ArrayBufferオブジェクトをアップロードするにはfalseに設定する必要があり、サービス側はRequestから直接アップロードする.InputStreamは、元のバイトストリームを取得します.
w 3 school解釈:
processData
:Boolean
: true。 , data , ( ), , "application/x-www-form-urlencoded"。 DOM , false。
プライマリ・コード:(次のコードは、FileReaderの非同期メソッドのReadAsArrayBufferの完了イベントonloadで呼び出されます.thisは現在のreaderを指します)
$.ajax('/Home/File',
{
data: this.result,
type: 'POST',
processData: false,
success: function (res) {
console.log(res);
},
error: function (err) {
console.log(err);
}
});
サービス側はファイル類の内容を受け入れる:
var stream = Request.InputStream;
HTML 5のみFileReaderオブジェクトがあるため、HTML 5のみがJSオリジナルブロックアップロードファイルをサポートします.
前回はWebSocketベースのオリジナルブロックを使用してファイルをアップロードする方式でもHTML 5のみがサポートされていました.
http 1のため.1デフォルトkeep-liveプロパティでは、リクエストごとに接続を再確立することはありません.したがって、サービス側ではwebsocketを使用できないシナリオですが、クライアントがhtml 5をサポートしている場合はajaxオリジナルブロックでアップロードできます.