У меня нет опыта работы с интерфейсом, поэтому, пожалуйста, несите меня.Загрузите файл JSON в браузере
У меня есть локальное приложение с угловым расположением в браузере (нет back-end), и я хочу загрузить файл JSON, чтобы я мог показывать загруженные данные на графиках. Так как я не знаю, могу ли я только fs.readFile
от Angular, я выбрал ng-file-upload
, чтобы загрузить файл в отличном виде (из браузера файлов). Дайте мне знать, если это не правильный инструмент, хотя ...
Итак, я скопировал код у официального JS Fiddle on the repo. Пришлось немного изменить его, чтобы я мог что-то загрузить - удалить проверки.
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?
Да, возможно, 'нг-файлов uploader' не является правильным инструментом для локальных файлов. Вот гораздо более простое решение: http://stackoverflow.com/questions/26165919/filereader-not-loading-file-properly-using-angularjs – sakovias