Имя: Пароль:
1C
1С v8
Запись двоичных данных
0 Kaban145
 
10.03.22
18:39
Здравствуйте, пытаюсь получить ДД из файла, а получаю только первые 770 байт, почему так происходит?
Пример кода:
Объект.ДД2 = Новый ДвоичныеДанные(Объект.ПутьКФайлу);
Тело = Новый ПотокВПамяти();
ЗаписьДанных = Новый ЗаписьДанных(Тело);
ЗаписьДанных.ЗаписатьСтроку("--" + Разделитель);
ЗаписьДанных.ЗаписатьСтроку("Content-Disposition: form-data; name=""chat_id""");
ЗаписьДанных.ЗаписатьСтроку("");
ЗаписьДанных.ЗаписатьСтроку(Чат);
ЗаписьДанных.ЗаписатьСтроку("--" + Разделитель);
ЗаписьДанных.ЗаписатьСтроку("Content-Disposition: form-data; name=""document""; filename= " + Символ(34) + Объект.ИмяФайлаТел + Символ(34));
ЗаписьДанных.ЗаписатьСтроку("");
ЗаписьДанных.ЗаписатьСтроку(Объект.ДД2);
ЗаписьДанных.ЗаписатьСтроку("--" + Разделитель + "--");
1 H A D G E H O G s
 
10.03.22
19:35
Ну может на месте 771 байта - нулевой байт
2 Kaban145
 
10.03.22
19:37
Файл приходит весом в 770 байт и не открывается, возможно это исправить?
3 H A D G E H O G s
 
10.03.22
19:41
Любой файл можно открыть
4 Kaban145
 
10.03.22
19:45
Я его отправляю в Бот телеграм, он туда приходит весом в 770 байт и не открывается
5 H A D G E H O G s
 
10.03.22
19:51
(4) ЗаписьДанных сохрани в файл, да посмотри, что в нем.
Или убери всю обвязочную тряхомудью вокруг ДвоичныхДанных и оставь только вот эту строчку
ЗаписьДанных.ЗаписатьСтроку(Объект.ДД2);
сохрани в файл, посмотри, сколько байт запишется (700 к примеру).
Потом смотри, что в 700 байте файла Объект.ПутьКФайлу каким нибудь hexviewer
6 Kaban145
 
10.03.22
19:58
Спасибо огромное, разобрался, нашёлся СП.)
Нужно было использовать НЕ ЗаписьДанных.ЗаписатьСтроку(Объект.ДД2);
А ЗаписьДанных.Записать(Объект.ДД2);
7 ДедМорроз
 
10.03.22
23:47
А зачем Объект.ДД2 - попробуйте просто в переменную.