Open NefedovIv opened 1 year ago
Добрый день, тут все описано , и про размер тоже
https://developer.kontur.ru/docs/diadoc-api/http/ShelfUpload.html?highlight=nameonshelf
Мы используем метод UploadFileToShelf, который инкапсулирует в себе логику отправки. Данный метод возвращает корректное имя файла, соответственно файл попадает на полку. Но вот при отправке сообщения возникает ошибка.
ваш метод внутри себя запускает метод стандартного api диадока , на который я дал ссылку.. файл быть может и попадает на полку , толкьо в момент прогрузки часть данных теряется.. и эта ситуация не обрабрабатывается возможно на их стороне . вы , вместо того , чтобы спорить, попробовали бы загрузить файл частично.. как есть в описании по ссылке. и уже потом делать вывод о том, чо все делаете верно
Вы видимо не совсем поняли, этот метод не кастомный, этот метод находится в сборке диадок и велосипед я не придумываю использую то что предоставляется из коробки и оно не работает. Этот метод внутри себя уже инкапсулирует в себе загрузку файла частями. Зачем мне ещё раз писать то, что уже реализовано?
Assembly DiadocApi, Version=2.12.0.0, Culture=neutral, PublicKeyToken=d18fd4c7ad3c243e namespace Diadoc.Api { public class DiadocApi : IDiadocApi { ... public string UploadFileToShelf(string authToken, byte[] data); ... } }
Мы используем метод UploadFileToShelf, который инкапсулирует в себе логику отправки. Данный метод возвращает корректное имя файла, соответственно файл попадает на полку. Но вот при отправке сообщения возникает ошибка.
Добрый день. А что передаёте в теле запроса PostMessage? Что это за документ? Для формализованных, как правило, Filename формируется на основе содержимого, а для неформализованных указывается в теле запроса PostMessage отдельно.
Добрый день.
Столкнулись с ограничением при работе через API не позволяет корректно загружать большие вложения в сообщение. Пытаемся загружать на полку документов, через api метод DiadocApi.UploadFileToShelf(string authToken, byte[] data)
Метод возвращает корректное имя файла на полке, но далее при попытке отправки сообщения через PostMessage с указанной структурой SignedContent = new SignedContent { NameOnShelf = e.NameOnShelf } Падает в ошибку: {"BaseUrl=https://diadoc-api.kontur.ru, PathAndQuery=/V3/PostMessage?operationId=d1cd2f8223194dcf92bb6b2e9d34d794, AdditionalMessage=MessageToPost.DocumentAttachments[0]: Невозможно получить данные по ключу: FileName, StatusCode=BadRequest, DiadocErrorCode: DocumentService.InvalidFileContent"}
Подскажите, в чём может быть проблема?