これが私の HTML フォームです:
<form name="myForm" ng-submit="">
<input ng-model='file' type="file"/>
<input type="submit" value='Submit'/>
</form>
ローカル マシンから画像をアップロードし、アップロードされたファイルの内容を読み取りたいです。これらすべてを AngularJS を使用して実行したいです。
値を印刷しようとすると、$scope.file
未定義として表示されます。
ベストアンサー1
ここでの回答の中には を使用することを提案しているものもありますが、残念ながら、これは Internet Explorer 9 以前では利用できないブラウザ オブジェクトです。これらの古いブラウザをサポートする必要がある場合は、または Flash をFormData()
使用するなどのバックアップ戦略が必要になります。<iframe>
ファイルのアップロードを実行する Angular.js モジュールはすでに多数あります。次の 2 つは、古いブラウザを明示的にサポートしています。
- https://github.com/leon/angular-upload- フォールバックとしてiframeを使用する
- https://github.com/danialfarid/ng-file-upload- フォールバックとしてFileAPI/Flashを使用する
その他のオプション:
- https://github.com/nervgh/angular-file-upload/
- https://github.com/uor/angular-file
- https://github.com/twilson63/ngアップロード
- https://github.com/uploadcare/angular-uploadcare
これらのいずれかがあなたのプロジェクトに適合するか、自分でコーディングする方法についての洞察を与えてくれるかもしれません。