2017-07-01 6 views
1

HTML5 input type file要素を使用してファイルをアップロードするモジュールをビルドします。 1)ユーザーがアップロードするファイルを選択するが、アップロードボタンを押す前にユーザーがソースファイルを削除した。今ユーザがアップロードボタンをクリックします。私の場合、UIでは何も起こりません。HTML5入力タイプファイルエラー処理

HTML5の入力ファイル要素のアップロードボタンをクリックする前に、天気ファイルがまだ存在することがわかっています。

Plsは注意:私は、あなたがコードを実行し、きれいにエラーを処理することを可能にする「のtry-catch」のアプローチを使用することができます

+0

アップロードメソッドを 'try ... catch'でラップして、先に進むことができます。それは少なくともあなたが正常にエラーから回復することができます。 – Nisarg

+0

あなたがしようとしていることを正確に示すためにいくつかのコードを追加できますか? – Nisarg

答えて

0

ember.js使用しています。

try{ 
//the code you want to test/run goes here 
}catch(e){ 
//here is where you handle the error thrown (if any) 
console.log("There was an error!\nError message: " + e.message); 
alert("There was an error!\nError message: " + e.message); 
document.getElementById('errorMessageSpan').innerHTML = "There was an error!\nError message: " + e.message + ""; 
} 

ここでは、アプリケーションのクラップスの前に自分自身をエラーをキャッチし、ユーザーや開発者(DOMまたはコンソール)にエラーを提示することができます。

希望すると便利です。

+0

アップロードボタンをクリックする前にソースファイルが削除された場合、「ソースファイルの名前が変更、移動または削除されました。 –

+0

コードはすでにtry-catchブロックにあります –

0

ファイル(Form、XMLHttpRequest、ThirdParty lib)のアップロード方法はわかりませんが、要素、フォーム、XHR要素、またはwindow要素自体にerror eventを添付できます。

エラーハンドラを要素にアタッチした場合、ユーザーがファイルを受け取ったときではなく、ファイルを読み込んだ時点(XHR、FORM送信など)にエラーがスローされるため、ユースケースを処理できませんファイル。

window.URL.createObjectURL(files[i]); 

Example

もちろん、ファイルはあなたがwebworkerを使用する必要があります大きすぎる場合:

別のオプションは、使用してブラウザが「オンザフライ」ファイルを読む作り、このエラーを防ぐためですまたは読み込む前にファイルサイズを確認して、UIをフリーズしないようにしてください。