|
|
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
Народ, подскажите, как можно с помощью JavaScript передать файл на сокет. На счет картинки понятно - ее можно передать с помощью base64, а как файл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2015, 14:00 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
а кто мешает использовать base64 картинка от файла ничем не отличается... data:application/bin;base64,.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2015, 14:20 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
А ограничения на размер файла есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2015, 14:38 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
qi_ip, есть , но это надо смотреть настройки сервера но и в это случае никто не мешает передавать файл по частям смотри file API ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2015, 14:56 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
Опять же возвращаюсь к вопросу передачи файлов/картинок через JS и Base64. Передача на страницу картинок/файлов закодированных в Base64 небольших размеров осуществить не сложно. Проблема возникает при передачи файлов закодированных в Base64 больших размеров именно через JS (проблема с оперативной памятью). Подскажите, 1) Как отобразить изображение на сайте большого размера? Если все сразу вытащить в переменную на страницу, браузер выкидывает "Out of memory". 2) То же самое с файлом большого размера. Я так понимаю, можно как-то частями выгружать? Можно ли через JS при нажатии на ссылку загрузки файла сначала открывалось окно выбора места сохранения файла, а уже потом начиналась конвертации Base64 в файл побайтно? Закодированную строку получаю из базы данных. PS: просьба сильно не пинать, так как только начинаю в этом разбираться. Если не сложно, то киньте ссылки на примеры или в каком направлении двигаться. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2015, 15:23 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2015, 16:15 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
На счет FileAPI понятно, но это можно использовать, когда файл уже есть. А я имел в виду именно получение и создание большого бинарного файла. То есть, файл нужно собрать из присланных данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 11:07 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
из данныз формируешь блобы , соединяешь их, применяешь base64. передаешь на сервер. а в общем не понятно задание- что и откуда получается, и что и куда передается. в постах противоричивые данные... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 12:30 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
Так, полная тема: Есть WebSocket, по нему в JS получаю файл (base64). Как его можно правильно преобразовать в большой файл (blob) на стороне клиента. С небольшими файлами проблем не возникает, но при больших файлах (> 20 МБ) браузер крешится при конверте Base64 в Blob. Возможно можно как-то собрать файл по частям, не нагружая сильно оперативу. Может быть можно аппендить несколько Blob (не нашел как) Как вариант для хранения сконвертированного файла рассматривал сохранение в IndexedDb. Если коротко, то нужно получить большой файл по вебсокету (формат Base64), преобразовать на стороне клиента в файл (Blob) и отдать пользователю. Вот, как-то так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 12:51 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
я вот таким образом получаю файл по websocket p - это и есть строка base64 Код: javascript 1. 2. 3. правда, у меня файлы не большие... вот пример использования blob для формирования строки для передачи по websocket на сервер Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. для тебя будет интересна последняя строка - собрать один blob из нескольких.... но при больших передачах крашиться может из-за ограничения по объёму разовой передачи по websocket у меня - 16мег стоит. но websocket может передавать и бинарные файлы - сокращение трафика и времени на передачу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 13:33 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
вадяя вот таким образом получаю файл по websocket p - это и есть строка base64 Код: javascript 1. 2. 3. правда, у меня файлы не большие... вот пример использования blob для формирования строки для передачи по websocket на сервер Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. для тебя будет интересна последняя строка - собрать один blob из нескольких.... но при больших передачах крашиться может из-за ограничения по объёму разовой передачи по websocket у меня - 16мег стоит. но websocket может передавать и бинарные файлы - сокращение трафика и времени на передачу То есть, можно на стороне клиента получать бинарный файл? А как его обработать? Опять же получается. что все будет накапливаться в оперативке и при большом файле опять же крешниться. Есть какие-то нюансы при передачи/получении через WebSocket на клиент бинарный файл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 13:45 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
qi_ipТак, полная тема: Есть WebSocket, по нему в JS получаю файл (base64). Как его можно правильно преобразовать в большой файл (blob) на стороне клиента. С небольшими файлами проблем не возникает, но при больших файлах (> 20 МБ) браузер крешится при конверте Base64 в Blob. Возможно можно как-то собрать файл по частям, не нагружая сильно оперативу. Может быть можно аппендить несколько Blob (не нашел как) Как вариант для хранения сконвертированного файла рассматривал сохранение в IndexedDb. Если коротко, то нужно получить большой файл по вебсокету (формат Base64), преобразовать на стороне клиента в файл (Blob) и отдать пользователю. Вот, как-то так.зачем этот гемор? почему нельзя просто так взять и дать пользователю ссылку на скачивание? а браузер правильно крашится. нефиг втихаря забивать мне localStorage всяким многогигабайтным гуано, hdd не резиновый и не казенный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 13:49 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
Antonariyqi_ipТак, полная тема: Есть WebSocket, по нему в JS получаю файл (base64). Как его можно правильно преобразовать в большой файл (blob) на стороне клиента. С небольшими файлами проблем не возникает, но при больших файлах (> 20 МБ) браузер крешится при конверте Base64 в Blob. Возможно можно как-то собрать файл по частям, не нагружая сильно оперативу. Может быть можно аппендить несколько Blob (не нашел как) Как вариант для хранения сконвертированного файла рассматривал сохранение в IndexedDb. Если коротко, то нужно получить большой файл по вебсокету (формат Base64), преобразовать на стороне клиента в файл (Blob) и отдать пользователю. Вот, как-то так.зачем этот гемор? почему нельзя просто так взять и дать пользователю ссылку на скачивание? а браузер правильно крашится. нефиг втихаря забивать мне localStorage всяким многогигабайтным гуано, hdd не резиновый и не казенный. Связь только по Websocket, поэтому не получается просто взять и дать пользователю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 13:51 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
для нормального приёма бинарника нужна вторая строка Код: javascript 1. 2. она не влияет на прём текстовых данных. в моём примере нет необходимости связавыться с blob. проверь, может и для длинных файлов подойдет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 14:00 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
qi_ipСвязь только по Websocket, поэтому не получается просто взять и дать пользователю.Для того, чтобы был вебсокет, сначала должен быть http. Для установления соединения WebSocket клиент и сервер используют протокол, похожий на HTTP. Клиент формирует особый HTTP-запрос, на который сервер отвечает определенным образом. Куда девается HTTP? И вообще, единственный способ создать большой файл браузером — скачать его. Без вариантов (не считая ADODB.Stream). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 14:03 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
ну ещё можно вспомнить про WebDAV https://github.com/sara-nl/js-webdav-client ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 14:08 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
вот описание по работе с файлами http://habrahabr.ru/post/112286/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 14:11 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
вадявот описание по работе с файлами http://habrahabr.ru/post/112286/ а ты его читал? С помощью FileSystem API и File API веб приложение может создавать, читать, просматривать и записывать файлы находящиеся в области пользовательской «песочницы».размер песочницы - 5 мб. даже в память ТС загружает больше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 14:18 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
и кроме того только для хрома :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 14:32 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
qi_ipСвязь только по Websocket это чтоб сложнее было? )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 14:36 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
Petro123qi_ipСвязь только по Websocket это чтоб сложнее было? )) Тут я ничего не могу поделать - такие условия выполнения. Поэтому тут на форуме темку создал, чтобы узнать, как сделать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 14:38 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
http://updates.html5rocks.com/2011/08/Saving-generated-files-on-the-client-side там же ссылка https://github.com/eligrey/FileSaver.js а это пробовал? Код: javascript 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 14:59 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
Там используются уже готовые бинарные объекты...а я еще до бинарника не дошел, так как застопорился на создании самого бинарника из Base64 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 15:08 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
Petro123qi_ipСвязь только по Websocket это чтоб сложнее было? )) ну через websocket много решается намного проще, чем через ajax особенно мне понравилось такая картинка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 15:08 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
qi_ipТам используются уже готовые бинарные объекты...а я еще до бинарника не дошел, так как застопорился на создании самого бинарника из Base64 в моём варианте бинарник не используется! если у тебя приходит base64, сделанный из бинарника надо добавить в начало data:application/bin;base64, и все подставить вместо p data:application/bin;base64, - лучше добавить на сервере(если есть такая возможность, у меня так сделано) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 15:14 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
Как вариант частями создавать бинарник, но что-то JS не дает возможность дописывать в BLOB ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 15:21 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
вот же добавление в blob Код: javascript 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 15:30 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
причем бинарники ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 15:31 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
Код: javascript 1. Если не сложно, можно поподробнее: blob - ранее созданный бинарник shorts и getBlob(img_tmp.shift()) - тоже все бинарники? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 15:41 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
вот полный код использования Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. фактически можно получать base64 и записывать в массив Код: javascript 1. 2. 3. 4. потом Код: javascript 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 16:01 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
getBlob(img_tmp.shift()) img_tmp - у меня массив с картинкам и этот код в цикле пербирает (извлекая из массива) все картинки для передачи на сервер по websocket в бинарном виде [shorts, blob, - это информационная часть длина команды и сама команда - для обработки полусенного на сервере ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 16:10 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
вадяну через websocket много решается намного проще, чем через ajax мы же не про "много" говорим, а про скачку и докачку больших файлов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 16:12 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
Petro123вадяну через websocket много решается намного проще, чем через ajax мы же не про "много" говорим, а про скачку и докачку больших файлов.всем, похоже, пофиг, что в оперативку можно напихать максимум 20 мб (согласно экспериментам ТС), а записать на диск 5 (согласно настройкам). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 16:19 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
я предложил варианты Код: javascript 1. 2. 3. и чуть выше ноад попробовать для больших файлов. сюда <a href="" download="xxx.xlsx" id="download" ></a> в href можно подставить и бинарные данные. также можно и подставить ссылку на файл, если он есть на сервере. в моём случае создаются файл экселя и не сохраняясь на сервере ("из памяти") передаются клиенту ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 16:21 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
авторвсем, похоже, пофиг, что в оперативку можно напихать максимум 20 мб (согласно экспериментам ТС), я б своим способом попробовал, но у меня маленькие файлы и ограничения дл websocket 16мег 16мег я могу изменять, но для формирования большого файла нет желания возиться.... поэтому и прошу qi_ip проверить. вдруг потребуется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 16:27 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
Спасибо за вариант...буду пробовать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 16:31 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
В общем попробовал собрать картинку...при сборе второй картинке пишет, что изображение повреждено. Код приложил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2015, 09:25 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
я не понял чего ты добивался у меня так всё нормально Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2015, 11:30 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
Я хотел создать два блоба из двух частей, соединить их и вывести изображение :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2015, 12:11 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
гыыы читайте первоисточники делить строку base64 для нормльного использования в дальнейшем надо на части длина которых кратна 3 в своём приере из первой строки последние 2 символа перенеси в начало второй строи и будет тебе счастьё ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2015, 13:51 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 22:09 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
вадяты его пробывал? Я еще до этого не дошел. Сейчас делаю так: в одной js получаю побайтно код в base64, а blob по частям собираю в другом. Поэтому мне нужно между переходами между двумя этими файлами сохранять ранее созданный блоб, чтобы потом дописать в него. То есть, получается, что получаю в первом JS файле строку, передаю в другой JS. Там формирую блоб, генерирую ссылку на блоб через URL.createObjectURL, потом обратно возвращаю новую порцию Base64 и ссылку URL.createObjectURL на предыдущий блоб. И так по кругу, пока не закончится поток Base64 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 22:15 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
И поэтому мне нужно во втором файла заново вытаскивать BLOB. Пробовал через XMLHttpRequest, но почему-то в переменную BLOB не сохраняет. Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 22:17 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
а нафига такой изврат? какая у тебя конечная цель? передать большой файл по-частям? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 22:19 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
Все та же, что и раньше - собрать один большой файл и отдать пользователю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 22:20 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
как у тебя организована работа с websocket? создай массив var v=[] получение каждой паски base64 заноси в массив v.push(строка base64) потом $('#download').attr('href', p); document.getElementById('download').click(); <a href="" download="xxx.xlsx" id="download" ></a> и всё ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 22:28 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
$('#download').attr('href', p); заменить $('#download').attr('href', v.join(''); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 22:31 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
$('#download').attr('href', v.join('')); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 22:31 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
При слишком больших файлах в лимит массива не упрусь? Оператива большой массив выдержит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 22:34 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
не упрёшься , проверь. файлы какой длины? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 22:37 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
Больше 50 мб ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 22:38 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
qi_ipИ поэтому мне нужно во втором файла заново вытаскивать BLOB. Пробовал через XMLHttpRequest, но почему-то в переменную BLOB не сохраняет. Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. А тут все-таки в переменную результат запроса никак не записать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 22:43 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
тебе обязательно тело файла передавать по ws? если нет, то в $('#download').attr('href', p); document.getElementById('download').click(); <a href="" download="xxx.xlsx" id="download" ></a> p - может быть путем к файлу, который можно передать по ws. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 22:43 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
а зачем ? всё равно ты принятый объём держишь на клиенте.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 22:45 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
вадятебе обязательно тело файла передавать по ws? Да, обязательно, поэтому столько "изврата" :) Причем, сокет тоже особо трогать не могу - как есть нужно использовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 22:47 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
ну тогда проверь мой вариант ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 22:54 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
Окей, спс еще раз за помощь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 23:17 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
вадя , если не сложно, можешь еще по вопросу парсинга потока проконсультировать? У меня получается, что идет большой поток данных, который как бы накапливается в переменной response, а уже потом после окончательного получения данных я беру эту переменную и преобразовываю в бинарный файл и отдаю пользователю. Если я правильно понимаю, данный поток можно читать частями, чтобы была меньше нагрузка на ресурсы. То есть прочитал часть данных, сконвертировал в BLOB. Потом прочитал следующую и соединил с предыдущей частью. Я правильно понимаю? Если да, то чем можно читать поток? С помощью substring ? Или же будет легче, если я буду конвертировать первую часть в BLOB, временно класть в IndexedDB, потом заново считывать сохраненную часть и соединять со следующей? По идее, получится, что файл будет какое-то время лежать на жестком диске, что в свою очередь разгрузит и процессор, и память...или я не прав? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2015, 09:40 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
чем дальше, тем все больше напоминает вывернутый наизнанку rtmp :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2015, 09:46 |
|
||
|
Как передать файл с помощью JavaScript
|
|||
|---|---|---|---|
|
#18+
qi_ip, двай на мыло, вопрос, и можно по скайпу, для оперативности ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2015, 11:59 |
|
||
|
|

start [/forum/topic.php?all=1&fid=22&tid=1446087]: |
0ms |
get settings: |
7ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
165ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
109ms |
get tp. blocked users: |
2ms |
| others: | 211ms |
| total: | 532ms |

| 0 / 0 |
