我遇到了使用angularjs ng-img-crop和Spring-boot REST web服務的問題。我想從ng crop上傳一個圖像文件到我的後端web服務。spring RESTcontroller接受dataURI
我試着寫一個彈簧控制器,但它失敗了,我找不到一個很好的教程。幫助我解決這個基本要求。
謝謝!
app.js
angular.module('myApp', [
'ngRoute',
'myApp.view1',
'myApp.view2',
'myApp.version',
'ngImgCrop'
])
.controller('Ctrl',['$scope','notify', function($scope,notify) {
$scope.myImage='';
$scope.myCroppedImage='';
var handleFileSelect=function(evt) {
var file=evt.currentTarget.files[0];
var reader = new FileReader();
reader.onload = function (evt) {
$scope.$apply(function($scope){
$scope.myImage=evt.target.result;
});
};
reader.readAsDataURL(file);
};
angular.element(document.querySelector('#fileInput')).on('change',handleFileSelect);
$scope.submit=function() {
notify($scope.myCroppedImage);
};
}]).
factory('notify',['$http', function($http) {
return function(myCroppedImage) {
var name = 'vishnu';
$http.post('http://localhost:8080/imageUpload', myCroppedImage)
.success(function(data, status, headers, config) {
alert("success");
})
.error(function(data, status, headers, config) {
alert("fail");
});
}
}])
controller.java
@RequestMapping(value="/imageUpload",method=RequestMethod.POST)
@ResponseBody
public String imageUpload(@RequestBody MultipartFile data){
return "success";
}
,當我用下面的要求運行,我得到了Web服務的一些例外。
遠程地址:127.0.0.1:8080 請求URL:http://localhost:8080/imageUpload 請求方法:POST 狀態代碼:500內部服務器錯誤 請求Headersview源 接受:應用/ JSON,文本/純,/ 接受編碼:gzip,緊縮 接受語言:EN-US,EN; q = 0.8 連接:保持活躍 的Content-Length:1850 內容類型:應用程序/ JSON的;字符集= UTF-8 主機:localhost:8080 產地:fi le:// User-Agent:Mozilla/5.0(Windows NT 6.1; WOW64)爲AppleWebKit/537.36(KHTML,例如Gecko)鉻/ 40.0.2214.115 Safari瀏覽器/ 537.36 **
請求有效載荷 數據:圖像/ PNG; BASE64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAFIklEQVR4Xu3VsRHAMAzEsHj/pTOBXbB9pFchyLycz0eAwFXgsCF .......
響應頭 連接:關閉 內容類型:應用/ JSON;字符集= UTF-8 日期:星期五,2015年4月24日12時40分35秒GMT 服務器:Apache-狼/ 1.1 傳輸編碼:chunked
在Java異常 org.springframework.web.multipart.MultipartException:當前的請求不是多請求
謝謝您的輸入。我在前端有棱角,我正在使用ng-img-crop,請告訴我如何在javascript內使用角度調用。 – vishnumanohar