2017-03-09 9 views
1
let fileReader = new FileReader(); 
fileReader.readAsDataURL(file); 

readAsDataURL方法で24メガバイト大きなPDFファイルを読んでいない(5メガバイト以下)、私は大きなファイル(24メガバイト)をアップロードする際にも取り組んでfine.Butを提出し、アップロードし、それはそれらを読んでいません、IEブラウザではfilereader.resultがnullになります。Chromeではうまくいきます。FileReaderのreadAsDataURL()メソッドは、小さなファイルを読み込むtypescriptです

答えて

0

FileReader APIを使用する必要はありません。 fileオブジェクトを直接ストリームする方が効率的です。

var config = { headers: { 'Content-Type': undefined } }; 

$http.post(url, file, config) 
    .then(function (response) { 
    var data = response.data; 
    var status = response.status; 
    var statusText = response.statusText; 
    var headers = response.headers; 
    var config = response.config; 

    console.log("Success"); 
    return response; 
}).catch(function (errorResponse) 
    console.log("Error"); 
    throw errorResponse; 
}); 

XHR Send Methodは、彼らはBlobの単なる特殊なタイプですとfileオブジェクトをストリーミングする方法を知っています。これにより、すべてのファイルをメモリに保存するオーバーヘッドが回避されます。

がコンテンツタイプヘッダーを設定できるように、コンテンツタイプヘッダーをundefinedに設定することが重要です。それ以外の場合、AngularJSフレームワークはコンテンツタイプapplication/jsonで上書きされます。

詳細については、AngularJS $http Service API Referenceを参照してください。

関連する問題