将图像文件从html发送到Spring MVC中的控制器页面
File to upload: <input type="file" name="UploadFile" id="file"><br>
<input type="submit" value="Upload" onclick="sortByDateeeee()">
以javascript格式获取此图像文件并传递给控制器。
function sortByDateeeee(){
var request = document.getElementById("file").value;
var url=CONTEXT_ROOT+"/login/uploadFile";
$.ajax({
type: "POST",
url: url,
data:{
"request": request
},
success: function(response){
//alert(response);
}
});
}
关注控制器
@ResponseBody
@RequestMapping(value="/uploadFile", method=RequestMethod.POST)
@HttpMethodConstraint(value = "POST")
public String uploadFileHandler(@RequestParam(required=false) HttpServletRequest request)
System.out.println("request: "+request);
}
我的问题是无法呼叫控制器..请帮我摆脱这个。
答案 0 :(得分:1)
<input type="file" name="file" />
<script type="text/javascript">
function sortByDateeeee() {
var formData = new FormData();
formData.append('file', $('input[type=file]')[0].files[0]);
console.log("form data " + formData);
$.ajax({
url : 'login/uploadFile',
data : formData,
processData : false,
contentType : false,
type : 'POST',
success : function(data) {
alert(data);
},
error : function(err) {
alert(err);
}
});
}
</script>
并在您的控制器中
@RequestMapping(method = RequestMethod.POST)
public @ResponseBody String doUpload(@RequestParam("file") MultipartFile multipartFile) {
return "Uploaded: " + multipartFile.getSize() + " bytes";
}
答案 1 :(得分:0)
我认为网址只是
var url="uploadFile";
。您可能不需要添加其他内容