gpt4 book ai didi

javascript - 使用ajax上传图片和表单提交

转载 作者:行者123 更新时间:2023-12-01 05:49:03 26 4
gpt4 key购买 nike

我想使用 Ajax 将图像上传到服务器,但出现问题。有人可以帮我看看这里出了什么问题吗?我可以使用提交表单提交图像,但不能使用ajax。这是我的代码:

html:

<div id="uploadPic" onclick="getFile()">
Select a photo to upload
</div>
<form name="myForm" id="avatar_form" enctype="multipart/form-data" method="post" action="">
<div style='height: 0px;width:0px; overflow:hidden;'>
<input id="upfile" class="botpic" type="file" name="avatar" value="upload" required="" onchange="sub1()">
</div>
</form>

JavaScript:

function getFile(){
document.getElementById("upfile").click();
}
function sub1(){
var photo = document.getElementById("upfile");
var file = photo.files[0];
data = new FormData();
data.append('file', file);
$.ajax({
url: 'url',
data: data
enctype: 'multipart/form-data',
processData: false, // do not process the data as url encoded params
contentType: false, // by default jQuery sets this to urlencoded string
type: 'POST',
success: function ( output ) {
document.getElementById('picTmp').innerHTML = output;;
}
});
}

PHP 代码:

if (isset($_FILES["avatar"]["name"]) && $_FILES["avatar"]["tmp_name"] != ""){
$fileName = $_FILES["avatar"]["name"];
$fileTmpLoc = $_FILES["avatar"]["tmp_name"];
$fileType = $_FILES["avatar"]["type"];
$fileSize = $_FILES["avatar"]["size"];
$fileErrorMsg = $_FILES["avatar"]["error"];
$kaboom = explode(".", $fileName);
$fileExt = end($kaboom);
list($width, $height) = getimagesize($fileTmpLoc);
.......
}

最佳答案

我注意到的第一件事是在数据参数声明之后缺少一个逗号。这可能是你唯一的问题。

$.ajax({
url: 'url',
data: data,
enctype: 'multipart/form-data',
//etc...

关于javascript - 使用ajax上传图片和表单提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24068701/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com