首页 文章

move_uploaded_file with ajax

提问于
浏览
0

我在尝试从表单上传文件时遇到问题 . 带有文件输入的表单是使用ajax创建的 .

Ajax的getForm.php

<input id="uploadCouponPhoto" name="uploadCouponPhoto" type="file">

然后我在按钮上使用javascript

<input id="popup_couponBox_commandButton" type="button" onclick="javascript: coupons_apply();" value="Appliquer">

执行另一个保存表单的ajax文件 .

Ajax的saveCoupon.php

$customPhoto = @$_POST['uploadCouponPhoto'];
if(!empty($customPhoto)){
    $name = "coupon_".$idCoupon;
    $directory = $_SERVER["DOCUMENT_ROOT"]."/resources/images/members/".$idMember;
    if(move_uploaded_file($customPhoto, $directory."/".$name)){
        echo "success";
    }
    else{
        var_dump($_FILES['uploadedfile']['error']);
    }
}

但是,ajax-saveCoupon.php的响应始终为false . 我试图使用 $_FILES['uploadedfile']['error'] 看到错误,但这会给出NULL . var_dump($_FILES) 给出一个空数组 . 我还可以在ajax-saveCoupon标头的表单数据中看到 uploadCouponPhoto: C:\fakepath\small-logo2.jpeg . 我没有正确地为此工作,是因为move_uploaded_file与输入不在同一个文件中吗?

谢谢 .

1 回答

  • 2

    你不能简单地使用AJAX POST 文件 . 您可以使用FileReader API读取文件并构建自己的 multipart/form-data 请求 .

    这是非常复杂的,有很多教程如何做到这一点 . 祝好运 .

相关问题