ファイルブラウザの互換性の問題を見てください
ソリューション
ブロブは、base64のアップロードに変わります
dataURLtoFile(dataUrl、ファイル名){ // BLOBのに変わる 関数dataURLtoBlob(toDataURL){ VARの ARR = toDataURL.split( "" )、 MIME [0] .match = ARR :; [(/(*)/。?) 1 ] BSTR =のatoB(ARRの[1 ])、 N- = bstr.length、 u8arr = 新しい新しいUint8Array(N-); 一方(N-- ){ u8arr [N-] = bstr.charCodeAtは、(N-); } VARの BLOB = ヌル; // ブラウザの低いバージョンに対処するには、新しいブロブ()問題ではありません 試して{ ブロブ = 新たなBLOB([u8arr]、{タイプ:MIME})。 } キャッチ(E){ VAR BlobBuilder = window.BlobBuilder = ( window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder )。 もし(e.name === "例外TypeError" && BlobBuilder){ VARのビルダー= 新しいBlobBuilder()。 builder.append(u8arr)。 ブロブ = builder.getBlob(MIME)。 } } 戻りBLOB; } // ファイルに変える 機能blobToFile(BLOBファイル名){ Blob.lastModifiedDate = 新しい新しい日付(); Blob.name = ファイル名; を返す;ブロブを } // 次の呼び出し てみましょう太字= dataURLtoBlob(dataUrl)。 LETファイル = blobToFile(太字、「ファイル名」); // アップロードファイルをすることができ 、戻りファイル; }
// ... // 場合は、ビデオ画像フレームの最初の傍受だった // ファイルがされているビデオファイル のvar imgfile = that.dataURLtoFile( canvas.toDataURL( "画像/ PNG" )、 file.name.split( "")[ 0] +「の.png」 ); VARの FD = 新しい新しいいるFormData(); // 考えられていない有効なイメージファイルを避けるために、接尾辞ここに渡されたファイル名第三引数 fd.append( 『ファイル』、imgFile 、file.name.split( " ")[0] +"の.png" ); $アヤックス({ タイプ: "POST" 、 URL: 'アップロードパス' 、 データ:FD、 のcontentType:falseに、 PROCESSDATA:偽 // これら2つのプロパティが保存できない }) .then(RES => { にconsole.log( '成功アップロード' ); })