2012-05-21 4 views
1

У меня есть приложение Phonegap, которое использует API-интерфейс камеры Cordova для того, чтобы сделать снимок и загрузить его на свой сервер после успешного захвата. Единственная проблема заключается в том, что качество изображения слишком хорошее. Это будет действительно проблемой, когда я достигнет более высокого количества пользователей.Загрузка телеграммы (Кордовы) на сервер слишком велика

Вот мой JavaScript:

function capture() { 
    navigator.camera.getPicture(cameraSuccess, cameraError, { 
     quality: 5, 
     destinationType: destinationType.FILE_URI, 
     sourceType : sourceType.CAMERA, 
     encodingType: encodingType.JPEG, 
     targetWidth: 300 
    }); 
} 

Файл загружается около 240 КБ и шириной более 1200 пикселей.

Я попытался добавить «качество» и «targetWidth» в параметры, чтобы изменить качество изображения, но безрезультатно.

Любая помощь будет оценена, спасибо!

+1

Можете ли вы использовать холст, чтобы уменьшить изображение? – Gerben

+0

Как мне это сделать? Не могли бы вы отправить ответ? – Karl

+1

Это может помочь: http://stackoverflow.com/questions/2303690/resizing-an-image-in-an-html5-canvas – Gerben

ответ

0

Поэтому я взял совет @Gerben, и я использовал html5 canvas, чтобы изменить свое изображение, прежде чем использовать javascript (jQuery), чтобы отправить его на сервер.

Here is the link.

0

Используя сервис, как Amazon Web Services (AWS) S3 и соответствующий API, вы можете хранить ваши изображения в другом месте, как только они попадают на сервер, а просто хранить полученные ссылки на загруженные картины. Вы все равно столкнетесь с проблемами космоса, но расширение должно быть тривиальным. Однако для начала вы можете получить бесплатную пробную учетную запись.

Таким образом, вы получите blazin hi def pics для отображения, а сервер хостинга для вашего сайта не будет увязнуть.

Смежные вопросы