【发布时间】:2015-01-03 00:17:14
【问题描述】:
我在 Spring java 中做项目。 需要在不使用表单提交的情况下上传图像,并且只使用 jquery 的 ajax 调用(因为我需要在同一页面中处理回图像)
我有 type=file 和
的输入标签我已经在 spring maven 中加载了 commons-fileupload, commons-io jar 并且还添加了 multipartResolver
现在我正在使用下面的 servlet 代码
@RequestMapping(value = "/upload", method = RequestMethod.POST)
@ResponseBody
public Map<String, Object> upload(@RequestParam("file") MultipartFile file) {
Map<String, Object> map = Maps.newHashMap();
try {
BufferedImage src = ImageIO.read(new ByteArrayInputStream(file.getBytes()));
File destination = new File("C:/Users/XXX/Desktop/Image_files/Image1.png");
ImageIO.write(src, "png", destination);
} catch(Exception e) {
e.printStackTrace();
}
return map;
}
我的 js 文件
$("#uploadbutton").on("click", function() {
var oMyForm = new FormData();
oMyForm.append("file", $("#imageid").prop("files")[0]);
$.ajax({
url: "/photo/upload/upload",
data: oMyForm,
processData: false,
contentType: false,
type: 'POST',
success: function(response) {
alert("success");
},
error: function() {
alert("unable to create the record");
}
});
});
问题是我可以在输入类型=文件标签中选择图像,但是当我单击上传按钮时,onclick 事件触发并且不进行 ajax 调用,显示错误消息“405 方法不允许”,请帮我一个忙???急切地等待肯定的答复....任何替代方式也热烈欢迎
【问题讨论】:
标签: java jquery spring image-uploading jquery-file-upload