Помогите, плизочки, чайнику разобраться с АПИ . Нашла фотохостинг с АПИ https://pro1c.org.ua/redirect.php?https://insane.su/forum/topic/23092-ipic-api/ https://pro1c.org.ua/redirect.php?https://insane.su/forum/topic/23092-ipic-api/
Пытаюсь выгрузить фото и получить в ответ ссылку на него. Танцую с бубном уже 2 дня..
АдресФайла = КартинкаТовара.ПолныйПуть;
СтрокаДляОтправки = "<form target=""ipic.su/api/index.php"" action=""loadimg"" method=""post"" enctype=""multipart/form-data"">
|<a href=""http://ipic.su"">ipic.su/api/index.php</a>
|<input name=""action"" value=""loadimg"" type=""hidden""/>
|<input name=""quality"" value=""85"" type=""hidden""/>
|<input type=""file"" name=""image"" image=" + АдресФайла + "/>
|</form>";
//////Запись = Новый Структура;
//////Запись.Вставить("quality", "85");
//////Запись.Вставить("image", КартинкаТовара.ПолныйПуть);
//////
//////
//////ЗаписьJSON = Новый ЗаписьJSON;
//////ЗаписьJSON.УстановитьСтроку();
//////
//////ЗаписатьJSON(ЗаписьJSON, Запись);
//////ДанныеДляТела = ЗаписьJSON.Закрыть();
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, СтрокаДляОтправки);
ДанныеДляТела = ЗаписьJSON.Закрыть();
//
ЗаголовокЗапросАвт = Новый Соответствие();
ЗаголовокЗапросАвт.Вставить("Content-Type", "text/javascript");
ЗаголовокЗапросАвт.Вставить("src", "http://ipic.su/javascript/functions.js");
ЗаголовокЗапросАвт.Вставить("language", "javascript");
//ЗаголовокЗапросАвт.Вставить("enctype", "multipart/form-data");
//ЗаголовокЗапросАвт.Вставить("target", "http://ipic.su/index.php");
//ЗаголовокЗапросАвт.Вставить("action", "loadimg");
//ЗаголовокЗапросАвт.Вставить("method", "post");
ЗапросАвт = Новый HTTPЗапрос("/api/index.php",ЗаголовокЗапросАвт);
ЗапросАвт.УстановитьТелоИзСтроки(ДанныеДляТела);
ОтветHTTP = HTTPСоединение.ВызватьHTTPМетод("POST", ЗапросАвт);
Похоже на рукожоп, забудьте это всё, и напишите с нуля. Сейчас ваш код отправляет на сервер просто текст указанный в СтрокаДляОтправки
upd: вообще посмотрите на более простой и понятный сервис https://pro1c.org.ua/redirect.php?https://api.imgbb.com/
Как-то так, код не тестировался и писался на коленке, думаю достаточный для понимания
function UploadImgToServer(LocalPath, Expiration = 0)
// Imgbb's API (https://api.imgbb.com/)
// LocalPath - Path to img on yr PC
// Expiration - Enable this if you want to force uploads to be auto deleted after certain time (in seconds 60-15552000)
Try
Coonection = New HTTPConnection("api.imgbb.com",443,,,,True);
Except
Return "";
EndTry;
Key = ""; // Imgbb's API key
ImgFile = New File(LocalPath);
TmpFile = GetTempFileName();
FileContent = Base64String(New BinaryData(LocalPath));
ImgStram = New TextWriter(TmpFile, TextEncoding.UTF8, Chars.LF, False);
ImgStram.WriteLine("Content-Disposition: form-data; name=""image""");
ImgStram.WriteLine(FileContent);
Headers = New Map;
Headers.Insert("Content-Type", "multipart/form-data;");
Request = New HTTPRequest;
Request.Headers = Headers;
Request.ResourceAddress = "/upload?key="+Key;
If Expiration > 0 Then
Request.ResourceAddress = Request.ResourceAddress + "&expiration="+Format(Expiration,"NG=0");
Endif;
Request.SetBodyFileName(TmpFile);
Response = Coonection.Post(Request);
If Not Response = Undefined Then
JsonResponse = Response.GetBodyAsString();
Try
JSON = New JSONReader;
JSON.SetString(JsonResponse);
Result = ReadJSON(JSON, True);
Return Result["data"]["url"];
// If need delete url:
//Return Result["delete_url"];
Except
EndTry;
EndIf;
// Any unsuccessful response
Return "";
EndFunction
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua