Возможно ли прочитать содержимое файла манифеста из Javascript. Требование - загрузить файл jar, прочитать содержимое файла манифеста, а затем отобразить различные поля на основе файла манифеста в браузере (на стороне клиента), а затем отправить данные на сервер.Чтение содержимого файла манифеста JAR из Javascript
ответ
Вот базовый пример, протестированный в хромированном состоянии. Я никогда не видел манифест JAR, но упрощенный код ниже работал над файлами JAR для демонстрации, которые я обнаружил, что плавает.
Эта часть не сложно в любом случае, не разорвалась молнию и захватывая файл есть, и вот один из способов:
<html>
<form><input type=file></form>
<script src="http://stuk.github.io/jszip/jszip.js"></script>
<script src="http://stuk.github.io/jszip/jszip-load.js"></script>
<script src="http://stuk.github.io/jszip/jszip-inflate.js"></script>
<script>
function getManifest(e){
var file=e.target.files[0];
var reader = new FileReader();
reader.onload = function(e) {
var zip = new JSZip(e.target.result);
var manifest = zip.files['META-INF/MANIFEST.MF']
.data
.trim()
.split(/\s*\n+\s*/)
.map(function(a,r){
r=a.split(/\s*:\s*/);
this[r[0]] = r[1];
return this;
},{})[0];
alert(JSON.stringify(manifest, null, "\t"));
};
reader.readAsArrayBuffer(file);
}
document.forms[0].elements[0].onchange=getManifest;
</script>
</html>
конечно, вы хотите поменять входной файл для бинарного AJAX звоните, но это невозможно для демонстрации такого взаимодействия в параграфе кода, например, для ввода файла ...
Это довольно просто, благодаря jszip. об этом: см. http://stuk.github.io/jszip/ для общей информации и http://stuk.github.io/jszip/examples/get-binary-files-xhr2.html для двоичной демонстрации ajax.
Предположив вы говорите о приложении сервера Java:
Нет это не невозможно.
Необходимо как-либо разоблачить информацию из манифеста, например. через API REST. См. [RestEasy | http: //www.jboss.org/resteasy].
И затем прочитайте его через XmlHttpRequest
.
PS: В META-INF или WEB-INF это не очень хорошая идея - это риск для безопасности.
- 1. Чтение содержимого файла JAR (во время выполнения)?
- 2. Чтение содержимого из файла
- 3. Чтение содержимого из файла
- 4. Чтение манифеста моей собственной Jar в
- 5. Чтение файла tsv из jar
- 6. Чтение текстового файла из .jar
- 7. Чтение содержимого из файла Excel
- 8. чтение содержимого текстового файла
- 9. чтение файла MANIFEST.MF из файла jar с использованием JAVA
- 10. Обновление файла манифеста jar. Java.io.IOException: недопустимый формат манифеста
- 11. Использование Javascript для чтения содержимого кэша манифеста
- 12. Чтение содержимого файла из загруженного текстового файла
- 13. Создание JAR манифеста
- 14. Использование Java для чтения файла манифеста .jar
- 15. Путаница по использованию файла манифеста Jar
- 16. Создание файла jar - нет основного манифеста atribute
- 17. Как найти класс манифеста файла jar?
- 18. Чтение содержимого текстового файла
- 19. Чтение содержимого файла
- 20. Проблема МАНИФЕСТА - пакет JAR
- 21. Чтение файла свойств из jar location
- 22. Чтение текстового файла слова из .jar
- 23. Чтение/запись файлов из JAR-файла
- 24. Чтение файла свойств из каталога JAR
- 25. Чтение внешнего файла конфигурации из jar
- 26. Чтение содержимого общего файла
- 27. Чтение содержимого удаленного файла
- 28. Чтение DOCX содержимого файла
- 29. Настройка безопасности содержимого для файла манифеста
- 30. Чтение содержимого файла из puppetserver URI
Зачем нужно читать его на JavaScript? –
@Dave: мы на самом деле делаем 2 звонка на сервер. Один просматривает jar-файл, а затем на основе этого отображения несколько полей в пользовательском интерфейсе для большего ввода пользователем, а затем снова отправляет файл jar .. вместо отправки файлов jar 2 раза , если бы я мог прочитать файл манифеста в самом javascript, тогда можно избежать первого вызова сервера. – Girish
Да, банка - это всего лишь почтовый файл. – dandavis