聚合物,用ajax形式发送图片

时间:2015-04-22 07:18:55

标签: php html image polymer

我实际上尝试在我的服务器上发送图片,但他没有收到。

我的表格:

<form is="ajax-form" action="../../../back/saveIMG.php" method="post" enctype="multipart/form-data">
                                    
  <input type="file" name="pic" id="pic "accept="image/*">

  <br/>
  <input type="submit" name="submitInfo">
</form>

我的php脚本:

<?php
error_reporting(E_ALL | E_STRICT);
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILE["pic"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
var_dump($_POST);
if(isset($_POST["submitInfo"])) {

    $check = getimagesize($_FILE["pic"]["tmp_name"]);
    if($check !== false) {
        $uploadOk = 1;
    } else {
        $uploadOk = 0;
    }
}
var_dump($uploadOk);
if ($uploadOk == 1) {
    $res = move_uploaded_file($_FILE["pic"]["tmp_name"], $target_file);
    var_dump($res);
}

&GT?;

我的脚本正常运行,我之前测试过,但他只是收到一个带有图片名称的帖子数组。

1 个答案:

答案 0 :(得分:1)

不需要JavaScript。正在发送文件,您可以通过查看所选开发工具中的网络选项卡进行验证。

获取文件的PHP表示形式的句柄:$_FILES['pic'];。文件字节将存储在$_FILES['pic']['tmp_name']。有关更多示例,请查看Fine Uploader PHP server-side example,它处理通过不相关的JavaScript库上传的文件。

如果浏览器支持File API,Ajax-form将像传统表单一样发送文件。如果你使用的是IE9或更早的版本,那你就不走运了。

虽然您可以使用简单的<input type="file">,但您也可以使用<file-input> element。免责声明:我写了<file-input>,ajax-form元素和Fine Uploader