Размер JPEG в виде байтового массива для Web API

1

Я пытаюсь отправить jpeg как массив байтов из телефона в веб-API. Изначально изображение, снятое телефоном, составляет около 2 МБ с размерами 2000х3500, поэтому я уменьшил его до размеров примерно 300х500, что приносит размер изображения примерно до 135 тыс.

Приложение по-прежнему занимает около 10 секунд или около того, чтобы отправить его в веб-API по приведенному ниже коду, если не использовать WiFi, а иногда просто не удается (из-за размера, на который я верю, или таймаута где-то).

HttpResponseMessage response = await client.PostAsJsonAsync("api/Send", msg);

Есть ли способ сжать jpeg, чтобы я мог отправить его в WebAPI с телефона, не делая его маленьким?

Я передаю некоторую другую информацию вместе с массивом байтов в объекте, например идентификатор пользователя и т.д.

Спасибо за любые указатели!

Теги:
asp.net-web-api
windows-phone-8

2 ответа

0
Лучший ответ

Я не нашел способ сделать передачу быстрее. Существует два варианта для Windows Phone. Либо выполните "отправку" уведомления и удерживайте пользовательский интерфейс... однако это не мешает им отказаться от приложения.

Класс BackgroundUploader является другим методом, но работает только с Windows Phone 8.1, и вы можете загружать только файлы, а не объекты; http://msdn.microsoft.com/library/windows/apps/windows.networking.backgroundtransfer.backgrounduploader.aspx

0

Я думаю, вы можете включить буферизацию в веб-api. Это может помочь вам ускорить загрузку. Интерфейс, который используется для включения буферизации в веб-API, - это IHostBufferPolicySelector

Я не пробовал, но эта ссылка может вам помочь.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню