Добрый день.
Мне надо создать эндпоинт для загрузки файлов. Есть FileApiService, он работает, но очень громоздкий по количеству параметров которые надо передавать вместе с файлом. Пытаюсь создать свой класс, в котором принять только файл и Id экземпляра объекта, а дальше уже считать размер и заполнять другие параметры для передачи в FileApiService, но не могу понять как передать файл, в переменную какого типа.
Нравится
Спасибо.
Вот я и пытаюсь сделать stream но не знаю как правильно
Вот здесь https://academy.terrasoft.ua/docs/7-17/developer/integrations_and_api/d… вроде как написан пример ПОЛУЧЕНИЯ ДАННЫХ а идет пример отправки из вне (Постман, например)
Пожалуйста, если не сложно, как правильно принять stream и создать веб-сервис? Можно передать stream в JSON?
Я испробовал слишком много разных вариантов, во всех случаях случались разные ошибки.
Для передачи фото в JSON, нужно конвертировать его в Base64.
Mykhailo Storozhuk,
Спасибо.
Конвертировал фото на
https://www.base64-image.de/
Теперь возникает ошибка
"The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters. "
Вот код как пытаюсь сделать
byte[] byteArray = Convert.FromBase64String(item.file); Stream stream = new MemoryStream(byteArray); var size = Convert.ToInt32(stream.Length); var insertActivityFile = new Terrasoft.Configuration.UsrMobileCaseMessageFile(UserConnection); insertActivityFile.Id = Guid.NewGuid(); insertActivityFile.SetDefColumnValues(); insertActivityFile.Name = "Name.txt"; insertActivityFile.SetStreamValue("Data", stream); insertActivityFile.Size = size; insertActivityFile.TypeId = new Guid("529BC2F8-0EE0-DF11-971B-001D60E938C6"); insertActivityFile.Version = 1; insertActivityFile.UsrMobileCaseMessageId = idMC; insertActivityFile.Save();