에 이미지 파일로 보내 https://github.com/fengyuanchen/cropperAngularJS와는 64 기수에서 이진 데이터 이미지를 만들어 내 AngularJS와 응용 프로그램에서 이미지를 자르기이 도구를 사용하고 서버
다음 내가 서버에 데이터를 저장하려고 노력하지만, 지금은 보내 base64 code ... base64가 아닌 일반 자른 이미지 바이너리 코드를 어떻게 보낼 수 있습니까? 진짜야?
업로드 내 코드는 같은 : 나는처럼
$scope.photoChanged = function(files) {
$scope.oldImg = angular.element(document.querySelector('#avatar-id'));
$scope.files = files;
var reader = new FileReader();
reader.onload = function(e) {
$scope.imagecontent = e.target.result;
};
reader.readAsDataURL(files[0]);
};
및
$scope.setCroppedData = function(data) {
$('#avatar-id').attr('src', data);
$scope.nImg = new Image();
$scope.nImg.src = data; // data - is base64 image code
}
...
uploaderService.addImage($scope.nImg.src).then(function(url) {
$scope.person.AvatarUrl = url;
$scope.updateContactQuery();
});
...
어떻게 내가 어떤 croping없이 보낼 수 :
var addImage = function(files) {
var deferred = $q.defer();
var fd = new FormData();
var blob = new Blob([files], { type : "image/png"});
fd.append("file", blob);
$http.post(settings.apiBaseUri + "/files", fd, {
withCredentials: true,
headers: {
'Content-Type': undefined
},
transformRequest: angular.identity
})
.success(function(data, status, headers, config) {
url = data.Url;
deferred.resolve(url);
})
.error(function(err, status) {
});
return deferred.promise;
};
여기에 내가 base64로 코드를 전송 : 브라우저에서 링크를 통해 이동하여 이미지를 볼 수 있도록 이미지 파일을 보내십시오. 그러나 byte64 코드는 사용하지 마십시오. ??? 내가 uintArray
당신이 원하는 가정
var binaryImg = atob(base64Image);
var length = binaryImg.length;
var arrayBuffer = new ArrayBuffer(length);
var uintArray = new Uint8Array(arrayBuffer);
for (var i = 0; i < length; i++) {
uintArray[i] = binaryImg.charCodeAt(i);
}
:
base64를 보내고 서버에서 이미지 조작 기능을 사용하여 이미지 파일을 만들고 저장하는 것이 더 쉬울까요? – geekman
@geekman no - 서버는 변경되지 않습니다 ... – brabertaser19
정확히 무엇을하고 싶은지 이해하지 못했습니다. 이미지를 서버에 저장하거나 단순히 페이지에 표시하고 싶습니까? – geekman