Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Отправка POST файла .DOC

Отправка POST файла .DOC
Я
   Ruslan_culeiman
 
16.02.18 - 11:36
Приветствую, пишу стандартную отправку multipart/form-data на сайт файл, при этом файлы PDF отправляются хорошо, но если отправляю doc или xls, сервер возвращает ошибку, сайтовики ничего ответить не могут, может кто в курсе офисные файлы надо по другому отправлять:
    ИмяФайлаОтправки = ПолучитьимяВременногоФайла("txt");
    Boundary = СтрЗаменить(Строка(Новый УникальныйИдентификатор()), "-", "");    
    
    МассивФайловДляОбъединения = Новый Массив;
    
    ИмяФайлаОтправкиНачало = ПолучитьИмяВременногоФайла("txt");
    ФайлОтправкиНачало     = Новый ЗаписьТекста(ИмяФайлаОтправкиНачало, КодировкаТекста.ANSI, Символы.ПС, Ложь);
    ФайлОтправкиНачало.ЗаписатьСтроку("");
    ФайлОтправкиНачало.ЗаписатьСтроку("------" + Boundary);
    ФайлОтправкиНачало.ЗаписатьСтроку("Content-Disposition: form-data; name=""file""; filename="""+ ИмяФайла +"""");
    //ФайлОтправкиНачало.ЗаписатьСтроку("Content-Type: "+ СтруктураТипаДанных.ТипФайла);
    ФайлОтправкиНачало.ЗаписатьСтроку("");
    ФайлОтправкиНачало.Закрыть();
    
    МассивФайловДляОбъединения.Добавить(ИмяФайлаОтправкиНачало);
    
    ИмяФайлаДляЗагрузкиВременный = ПолучитьИмяВременногоФайла("tmp");
            
    КопироватьФайл(ИмяФайлаДанных, ИмяФайлаДляЗагрузкиВременный);
    МассивФайловДляОбъединения.Добавить(ИмяФайлаДляЗагрузкиВременный);

    ИмяФайлаОтправкиКонец = ПолучитьИмяВременногоФайла("txt");
    ФайлОтправкиКонец     = Новый ЗаписьТекста(ИмяФайлаОтправкиКонец, КодировкаТекста.ANSI, Символы.ПС, Ложь);
    
    ФайлОтправкиКонец.ЗаписатьСтроку("");
    
    ФайлОтправкиКонец.ЗаписатьСтроку("------" + Boundary);
    ФайлОтправкиКонец.ЗаписатьСтроку("Content-disposition: form-data; name=""target""" + Символы.ПС);
    ФайлОтправкиКонец.ЗаписатьСтроку(СтруктураТипаДанных.Назначение);
    ФайлОтправкиКонец.ЗаписатьСтроку("------" + Boundary + "--");
    ФайлОтправкиКонец.Закрыть();
    
    МассивФайловДляОбъединения.Добавить(ИмяФайлаОтправкиКонец);
    
    ОбъединитьФайлы(МассивФайловДляОбъединения, ИмяФайлаОтправки);
 
 
   dezss
 
1 - 16.02.18 - 12:04
А какую ошибку возвращает сервер?
   Ruslan_culeiman
 
2 - 16.02.18 - 12:06
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>An Error Occurred: Internal Server Error</title>
</head>
<body>
<h1>Oops! An Error Occurred</h1>
<h2>The server returned a "500 Internal Server Error".</h2>
<div>
Something is broken. Please let us know what you were doing when this error occurred.
We will fix it as soon as possible. Sorry for any inconvenience caused.
</div>
</body>
</html>
   dezss
 
3 - 16.02.18 - 12:08
(2) Это ошибку возвращает сервер сайта.
Вот пусть они и объясняют что это за ошибка.
Кстати, там так и написано.
+ если есть интерфейс для загрузки файлов на самом сайте, проверь загружаются ли он из него.
   Ruslan_culeiman
 
4 - 16.02.18 - 12:17
(3) в общем со стороны 1С я делаю все норм, ок спасибо
   oleg_km
 
5 - 16.02.18 - 13:26
фиддлером сравни, что получается в 1С и что если отправить правильно
   Ruslan_culeiman
 
6 - 20.02.18 - 15:55
Вся проблема была в  filename="""+ ИмяФайла +""""); 
Название должно быть латинскими буквами :(

Список тем форума
Рекламное место пустует  Рекламное место пустует
Прочитай, хотя бы, Митичкина "Разработка в системе 1С:Предприятие 8". Волшебник
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует