我发现用AJAX上传图像似乎不符合表单中指定的multipart,因为我检查它是否为multipart()的代码从不工作(在Java中)。
if (context.isMultiPart()
{
System.out.println("received Multipart data");
}
else
{
System.out.println("not multipart data!"); /* my code always prints this message in the upload handler uploadPost() */
}
我有这个HTML表单:
<div class="title"><label>Upload picture!</label></div>
<form method="post" id="imageUploadForm" enctype="multipart/form-data" action="/uploadPost">
Please specify file to upload: <input type="file" name="upfile"><br />
<input type="submit" value="submit" id="submitButton">
</form>
<div id="imagedisplay">
</div>
以下是我的ajax代码,该代码将图像发送到地址处的上传处理程序/uploadPost
。我的Java代码中的uploadPost()方法首先确定上传是否为多部分,但是,似乎ajax不会将图像作为多部分发送。是否因为我在表单上使用了jQuery的serialize()方法?
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
$('#imageUploadForm').submit(function(evt) {
var formData = $('#imageUploadForm').serialize();
$.post('/uploadPost', formData, uploadResults);
evt.preventDefault();
});
// display the uploaded image on the same page
function uploadResults(data) {
$('#imagedisplay').html("<img src=" + data.url + "" + data.name + ">");
} // end of uploadResults
}); // end of ready
</script>
从serialize()更改为以下代码对我有用:
$('#imageUploadForm').submit(function(evt) {
evt.preventDefault();
var formData = new FormData(this);
$.ajax({
type: 'POST',
url: $(this).attr('action'),
data:formData,
cache:false,
contentType: false,
processData: false,
success: function(data) {
$('#imagedisplay').html("<img src=" + data.url + "" + data.name + ">");
},
error: function(data) {
$('#imagedisplay').html("<h2>this file type is not supported</h2>");
}
});
});
问题内容: 我发现用AJAX上传图像似乎不符合表单中指定的multipart,因为我检查它是否为multipart()的代码从不起作用(在Java中)。 我有这个HTML表单: 以下是我的Ajax代码,该代码将图像发送到地址处的上传处理程序。我的Java代码中的uploadPost()方法首先确定上传是否为多部分,但是,似乎ajax不会将图像作为多部分发送。是否因为我在表单上使用了jQuery的s
我试图通过AJAX Laravel(jquery AJAX)发送图像上传。我总是收到空的$_files数组。我在Form中添加了enctype=“multipart/form-data。当我通过Laravel的post方法发送数据时,我得到了我的数据。这不适用于jquery ajax。我得到的是除了$_文件之外我发送的其他东西的ajax响应。
问题内容: 我无法通过ajax上传多个文件。这是我的代码。 HTML代码: Ajax代码:- 当我通过Ajax调用upload_business_photo_do()函数时,它无法获取图像$ _FILES [‘file’] [‘name’]的名称 问题答案: 尝试这样使用,它简单又容易 并在控制器中使用像这样 并使用此功能将文件数据转换为多个图像数据的数组 它的工作完美,只需尝试使用它。您无需使用
问题内容: 我有一个包含3个输入的表单: [1]用于状态更新的文本输入字段 [2]文件上传(用于图片) [3]文本输入字段,用于附加链接 用户根据自己想做什么在每个选项之间切换。例如,当选择[2]时,输入[1]和[3]被隐藏。 所有这些输入都包含在ID为的单个表单中。选项[1]和[3]通过Ajax发布到不同的控制器。 现在我的问题是选项[2],因为不可能使用jQuery ajax上传图像。 我见过
问题内容: 我正在创建一个浏览大量图片的应用程序。至此,项目的那部分完成了,它对正确的图片进行了排序,过滤和加载,甚至将它们拆分为单独的页面以加快加载速度。 效果很好,但每页加载25张图片仍需要8秒钟以上。我已经进行了一些研究,得出的结论是,使用异步jQuery Ajax请求是最好的方式,以便尽可能快地同时加载所有请求。 到目前为止,这是我的代码: 此代码的问题在于,除了带有灰色边框的空白方形外,
问题内容: 使用AJAX上传多张图片时遇到很多问题。我写这段代码: 的HTML jQuery / AJAX 我尝试了各种版本,但从未成功通过ajax发送多个数据。我已经按照这种方式尝试了以上所见,现在我仅获得POST信息。我知道为什么会收到POST,但我需要发送FILES信息,而且我不知道我哪里写错了。 我不是第一次使用Ajax,经常在大多数项目中使用它,但是我从未使用过发送多个文件,这现在困扰着