невозможно отправить изображение из моего приложения на веб-интерфейс mvc - PullRequest
0 голосов
/ 20 января 2019

Я создал приложение для Android, в котором я буду ловить или загружать изображение из галереи и отправлять его в созданный мной веб-интерфейс, и там я сохраню изображение в базе данных, но я сталкиваюсь со многими проблемами и не могу найти какое-либо решение, будь то мой ошибка в способе отправки приложения Android или получения в API. Что я пытался

1.первое. Я попытался отправить изображение как строка base64 из моего приложения, но при конвертации в массив byte [] в моем веб-интерфейсе отображается ошибка. 2. Я пытался отправить изображение как массив byte [] , но не работает в API

Итак, что мне нужно, я отправлю файл изображения из моего приложения для Android и сохраню это изображение как байт в моей базе данных.

Что я пробовал

            //Android App Code To Convert Image //

            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
            final byte[] imageBytes = baos.toByteArray();
            final String imageString = Base64.encodeToString(imageBytes, 
            Base64.DEFAULT);


              /*WEB API CODE*/

          [HttpPost]
          public Result PostDescription(string imageString )
          {
             var result = new Result();
             var a = file.Replace(" ", "+");
             try
                {
               using (var bmEntity = new Entity())
                {
                var img = new Model();
                byte[] bytes = Encoding.ASCII.GetBytes(imageString );
                bmEntity.BrandingIssues.Add(img);
                result.success = bmEntity.SaveChanges();

            }
        }
        catch (Exception erException)
        {

            result.success=0;


        }

        return result;
    }

Все, что я хочу отправить и изображение в мой API и обработать это изображение для сохранения в базе данных. Спасибо.

1 Ответ

0 голосов
/ 21 января 2019

Я не уверен насчет вашего кода приложения для Android, но если ваш ввод действительно base64 в веб-API, должно работать следующее:

byte[] bytes = Convert.FromBase64String(imageString);

Отсюда, вам просто нужно сохранить его вваша база данных.

Если это не сработает, я предполагаю, что ваш ввод в метод PostDescription не совсем base64, но вы можете использовать точку останова, чтобы проверить, является ли она или нет.

Если вам нужна дополнительная помощь, возможно, стоит опубликовать исключение, которое выдает API при попытке преобразовать в байт []

...