У меня нет большого опыта работы с фронтендом, так что терпите меня.
У меня есть локальное приложение Angular в браузере (без серверной части), и я хочу загрузить файл JSON, чтобы я мог отображать загруженные данные на графиках. Так как я не знаю, могу ли я просто fs.readFile
из Angular, я выбрал ng-file-upload
, чтобы загрузить файл удобным способом (из файлового браузера). Дайте мне знать, если это не тот инструмент ...
Поэтому я скопировал код из официального JS Fiddle в репо. Пришлось немного изменить его, чтобы я мог загружать что-нибудь - удалите проверки.
var app = angular.module('app', ['ngFileUpload']);
app.controller('fileUploader', ['$scope', 'Upload', '$timeout', function ($scope, Upload, $timeout) {
$scope.uploadFiles = function(file, errFiles) {
$scope.f = file;
$scope.errFile = errFiles && errFiles[0];
if (file) {
file.upload = Upload.upload({
url: 'https://angular-file-upload-cors-srv.appspot.com/upload',
data: {file: file}
});
file.upload.then(function (response) {
$timeout(function () { // don't know why this timeout
$scope.fileReady = true;
file.result = response.data;
// can't figure out what to do with this!!!
console.log('response.data:\n', JSON.stringify(response.data.result, null, 2));
});
}, function (response) {
if (response.status > 0)
$scope.fileError = response.status + ': ' + response.data;
});
}
};
}]);
Ответ выглядит как объект, с которым я не могу много сделать:
[
{
"fieldName": "file",
"name": "my-awesome-data.json",
"size": "364077"
}
]
Как мне получить фактические данные, которые были загружены / проанализировать файл JSON?
ng-file-uploader
не подходит для работы с локальными файлами. Вот гораздо более простое решение: stackoverflow.com/questions/26165919/ - person sakovias   schedule 25.08.2016