首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP ajax上传图片

问PHP ajax上传图片
EN

Stack Overflow用户
提问于 2016-05-03 10:09:11
回答 1查看 58关注 0票数 1

我正在尝试通过ajax和php上传文件。PHP在直接调用时运行良好,但每次我通过ajax调用它时,它都会失败。我没有得到任何错误(恼人的),它只是不想上传。

我的JQUERY看起来像这样

代码语言:javascript
复制
$('.fileUpload').on('click', function(){
        var file_data = $('#medical').prop('files')[0]; 
        console.log(file_data);  
            var form_data = new FormData();                  
            form_data.file = file_data;
            console.log(form_data); 
            var fileType = $(this).parent().find('input[type="hidden"]').val()
            console.log(fileType);                       
            $.ajax({
                        url: '/docs/upload.php', // point to server-side PHP script 
                        dataType: 'text',  // what to expect back from the PHP script, if anything
                        cache: false,
                        fileType:fileType,
                        contentType: false,
                        processData: false,
                        data: form_data,                         
                        type: 'post',
                        success: function(data){
                            $('.message').html(data) // display response from the PHP script, if any
                        }
             });
    });

我的PHP看起来像这样

代码语言:javascript
复制
$file_upload="true";
$file_up_size=$_FILES['file_up'][size];
print_r($_FILES[file_up]);
if ($_FILES[file_up][size]>250000){$msg=$msg."Your uploaded file size is more than 250KB
 so please reduce the file size and then upload.<BR>";
$file_upload="false";}

$file_name=$_FILES[file_up][name];
$add="medicalPaperwork/$file_name"; // the path with the file name where the file will be stored

if($file_upload=="true"){

if(move_uploaded_file ($_FILES[file_up][tmp_name], $add)){
echo "Thank god!";
}else{echo "Fuck you.";}

}else{
echo $msg;
}

我做错了什么?我都快疯了想要弄清楚这件事。

编辑: form_data的内容

​

EN

回答 1

Stack Overflow用户

发布于 2016-05-03 10:41:46

您未正确使用FormData,请使用append设置要上传的字段

代码语言:javascript
复制
$('.fileUpload').on('click', function(){
    var file_data = $('#medical').prop('files')[0]; 
    console.log(file_data);  
    var form_data = new FormData();                  
    var fileType = $(this).parent().find('input[type="hidden"]').val()
    form_data.append('file_up', file_data);
    form_data.append('fileType', fileType);
    console.log(form_data); 
    console.log(fileType);                       
    $.ajax({
                url: '/docs/upload.php', // point to server-side PHP script 
                dataType: 'text',  // what to expect back from the PHP script, if anything
                cache: false,
                contentType: false,
                processData: false,
                data: form_data,                         
                type: 'post',
                success: function(data){
                    $('.message').html(data) // display response from the PHP script, if any
                }
     });
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36994473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档