如何在jQuery函数$ .ajax()中上传图像?之后我想通过FileUpload library
在Servlet上处理它这是形式:
<form id="avatarUploadForm" action="upload" method="post" enctype="multipart/form-data">
<input name="data" id="file" type="file"><br>
<input id="selectFileButton" type="button" value="Select"><br>
<input id="uploadButton" type="button" value="Upload"><br>
</form>
我有$ .ajax()方法:
$('#uploadButton').click(function() {
var $form = $('#avatarUploadForm');
var jsonFormData = $form.serializeObject();
$.ajax({
data : { 'file' : jsonFormData },
type : 'POST',
contentType : 'multipart/form-data',
dataType : 'text',
url : 'upload',
success: function(){
alert('uploaded');
}
});
});
和FileUpload方法,它必须解析我的请求。它在UploadServlet中:
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
List items = upload.parseRequest(request);
如何将数据从表单转换为HttpServletRequest请求?
答案 0 :(得分:2)
你无法用ajax做你所要求的。 这是一个非常好的上传指南,无需刷新页面,实现“使用ajax上传”的功能
答案 1 :(得分:0)
您可以在画布中加载它,使用toDataURL()
方法并发送base64字符串编码值。这只适用于现代浏览器(因此没有旧的IE)