Вход | Регистрация

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 человек.
Рекламное место пустует