danialfarid ライブラリ fileUpload を使用します。
https://github.com/danialfarid/angular-file-upload そして、「GitHub ページの使用法記事」と同じことを行いますが、ファイルを選択した後にエラーが発生しました:「Uncaught TypeError: プロパティ '長さ' を読み取れません」未定義の」であり、この未定義は $files.
これが私のコントローラーです:
$scope.onFileSelect = function($files) {
console.log($files); // undefined
//$files: an array of files selected, each file has name, size, and type.
for (var i = 0; i < $files.length; i++) {
var file = $files[i];
$scope.upload = $upload.upload({
url: '/cards/avatar/save_from_disk', //upload.php script, node.js route, or servlet url
data: {myObj: $scope.myModelObj},
file: file,
}).progress(function(evt) {
console.log('percent: ' + parseInt(100.0 * evt.loaded / evt.total));
}).success(function(data, status, headers, config) {
// file is uploaded successfully
console.log(data);
});
}
};
そして私の見解では:
<input type="file" title="" accept="image/*" ng-file-select="onFileSelect($files)" class="upload" />