2015-07-14 7 views
0

У меня есть ввод файлов и кнопка отправки. Файл, который будет загружен, содержит json, который должен быть загружен в представлении (отображение графика). Мне не нужно хранить файл, просто визуализируйте его.Загрузить json из файла, загруженного

Есть ли способ сделать это, используя только jquery, javascript или угловой? это приложение включено как статический контент внутри приложения Spring, но также должно работать как отдельное приложение.

Фактически я могу загрузить файл с сервера или сделать запрос к конечной точке отдыха, но мне нужно добавить параметр для загрузки локального файла с данными json.

Заранее спасибо

+0

ли вы попробовать с FileReader (https://developer.mozilla.org/ ан/Docs/Web/API/FileReader)? – Mindastic

+0

В Угловом есть решение, которое может помочь: http://stackoverflow.com/questions/17063000/ng-model-for-input-type-file – cyan

+0

@Mindastic Я искал другие варианты вне html5, но это должно работать на данный момент. – aruiz

ответ

2

Это будет работать для IE> = 10. Имейте в виду, что нет Обработка ошибок реализована. Я оставлю это до вас;)

HTML:

<input type="file" id="file" name="file"> 
<button type="submit" id="button">Click!</button> 

JS (Jquery):

$('#button').on('click', function() { 
    var reader = new FileReader(); 
    var file = $('#file').get(0).files[0]; 
    reader.onload = function(e) { 
     console.log(JSON.parse(e.target.result)); 
    }; 
    reader.readAsText(file); 
}); 
+0

Я попробую эту альтернативу. Это html5 правильно? Я искал что-то, что предпочтительно работает на ie8 +, но я думаю, что это будет сложно. – aruiz

+0

Это действительно HTML5. Поддержка IE <10 должна выполняться с помощью activeX, но, как я люблю говорить: «Разработчики не должны останавливаться в прошлом» – PierreDuc

+0

Это сработало !, как вы можете это сделать при нажатии кнопки, а не при выборе файла? – aruiz