我发现用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的se
我试图通过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上传图像。 我见过
问题内容: 我制作了一个脚本,该脚本使用$ .ajax和FormData将两个表单对象传递给PHP。一个表单对象是文本,另一个是文件。它作为独立脚本运行良好。但是,将其作为插件添加到Wordpress后,它一直给我。 我不能序列化formdata,仅仅是因为那样我将无法将文件传递给PHP中的回调函数。 ajax调用之前涉及FormData的JS: 上面的这一部分是100%正确的。 Ajax呼叫:
问题内容: 我正在创建一个浏览大量图片的应用程序。至此,项目的那部分完成了,它对正确的图片进行了排序,过滤和加载,甚至将它们拆分为单独的页面以加快加载速度。 效果很好,但每页加载25张图片仍需要8秒钟以上。我已经进行了一些研究,得出的结论是,使用异步jQuery Ajax请求是最好的方式,以便尽可能快地同时加载所有请求。 到目前为止,这是我的代码: 此代码的问题在于,除了带有灰色边框的空白方形外,