Привет, друзья. В моем проекте я могу захватить изображение с помощью камеры или галереи, размер файла изображения варьируется до 5-6 МБ в зависимости от качества камеры или выбранного пользователем изображения. Затем я должен загрузить его на сервер.
Требование состоит в том, что перед загрузкой файла на удаленный сервер я хочу применить сжатие без потерь к изображению, чтобы уменьшить размер файла до 2-3 МБ, чтобы сэкономить затраты на Интернет пользователя и место на моем сервере.
без использования resize
изображения. как я могу это сделать?.
У меня есть пользователь, загружающий изображение. Это мой код.
$scope.addImage = function (source) {
$rootScope.ionPopup.close();
var src = Camera.PictureSourceType.CAMERA
if (source == 'PHOTOLIBRARY')
src = Camera.PictureSourceType.PHOTOLIBRARY
var options = {
quality: 100,
destinationType: Camera.DestinationType.DATA_URL,
sourceType: src,
allowEdit: false,
encodingType: Camera.EncodingType.JPEG,
targetWidth: 350,
targetHeight: 350,
//popoverOptions: CameraPopoverOptions,
saveToPhotoAlbum: true,
correctOrientation: true
};
$cordovaCamera.getPicture(options).then(function (imageData) {
uploadImage(imageData);
}, function (err) {
// error
});
};
var uploadImage = function (imageData) {
$scope.orderImages.push(imageData);
$scope.orderImagesList.push({ImageString: imageData});
};
imageData
— изображение в кодировке base64.
Как я могу сжать это изображение в кодировке base64?
Кто-нибудь может мне помочь !