|
Передача файла с клиента на сервер без создания временного файла | ☑ | ||
---|---|---|---|---|
0
Dimarik_1
19.04.22
✎
16:07
|
Хочу передать файл с клиента на сервер и не создавать временный файл.
Помещаю во временное хранилище на клиенте. На сервере пишу ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресВХ); Поток = Новый ПотокВПамяти(); Запись = Новый ЗаписьДанных(Поток, КодировкаТекста.UTF8); Запись.Записать(ДвоичныеДанные); Запись.Закрыть(); Далее хочу прочитать и распарсить JSON. получаю пустоту ЧтениеJson = Новый ЧтениеJSON; ЧтениеJson.ОткрытьПоток(Поток, КодировкаТекста.UTF8); Пока ЧтениеJSON.Прочитать() Цикл.... что я не так сделал. Можете подсказать? |
|||
1
Галахад
гуру
19.04.22
✎
16:11
|
Хм. А чего не строку передавать?
|
|||
2
Dimarik_1
19.04.22
✎
16:17
|
ну передам я на сервер не двоичные данные, а строку. Тогда мне надо создать потом, записать, а потом уже чтение json делать из этого оптока?
|
|||
3
Галахад
гуру
19.04.22
✎
16:21
|
(2) А сразу строку в json? Для чего вообще поток?
|
|||
4
arsik
гуру
19.04.22
✎
16:35
|
(0) У меня чтение вот так организовано
ПотокЧтения = ДвоичныеДанные.ОткрытьПотокДляЧтения();
|
|||
5
arsik
гуру
19.04.22
✎
16:41
|
Для json все то же самое
ПотокЧтения = ДвоичныеДанные.ОткрытьПотокДляЧтения();
|
|||
6
arsik
гуру
19.04.22
✎
16:43
|
(2) Зачем? ЧтениеJSON.УстановитьСтроку(ТвояСтрока)
|
|||
7
Dimarik_1
19.04.22
✎
16:46
|
Вот такой файл.
[{ "FnsId": "2860", "UpdateDateTime": "22.04", "Statuses": [{ "Id": 3554, "Comment": null } ] }] Читаю данные. Пишу на клиенте открываю файл: ДвоичныеДанные = Новый ДвоичныеДанные(ДиалогВыбора.ПолноеИмяФайла); ЧтениеДанных = Новый ЧтениеДанных(ДвоичныеДанные); СтрокаJSON = ЧтениеДанных.ПрочитатьСимволы(); на сервер передаю строку. ЧтениеJSON = Новый ЧтениеJSON; ЧтениеJSON.УстановитьСтроку(СтрокаJSON); возникает ошибка Непредвиденный символ при чтении JSON |
|||
8
arsik
гуру
19.04.22
✎
16:51
|
(7) Твоя строка у меня нормально читается. А в СтрокаJSON у тебя наверно какая ни будь билиберда.
Зачем читать файл через двоичные данные, есть же миллиард менее проблемных вариантов https://programmist1s.ru/chtenie-tekstovogo-fajla-v-1s/ |
|||
9
Garykom
гуру
19.04.22
✎
18:54
|
(0) Дели файл на куски (это актуально ибо файлы под два гига портятся при передаче клиент-сервер) и передавай тупо строками
|
|||
10
ДедМорроз
19.04.22
✎
20:37
|
Для больших файлов специально был разработан метод НачатьПомещкниеФайловНаСервер.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |