Blueimp - 如何从图像或链接上传

时间:2015-07-24 06:02:03

标签: jquery file upload blueimp

我正在尝试使用blueimp文件上传器来替换现有的系统。

目前我使用的那个允许我点击图片(或链接)上传新文件。

我无法弄清楚如何用blueimp做同样的事情。

点击图片,链接或其他元素ID,我需要做些什么才能触发文件上传?

1 个答案:

答案 0 :(得分:1)

这不是你问题的答案,但也许是你问题的解决方案。

我可以建议改用Ravishanker Kusuma的jQuery Upload File Plugin吗?我已经尝试了一堆文件上传插件,包括blueimp,并且真的发现Ravi是最好的。在我的所有项目中使用它。试试他的例子(上面的链接) - 这很简单。

无论您使用哪个插件,都将在PHP文件中替换现有文件。在Ravi的插件中,它在这里命名:

url:"YOUR_FILE_UPLOAD_URL",

例如:

$("#fileuploader").uploadFile({
    url: "some_php_file.php",
    fileName:"myfile"
});

PHP文件看起来像这样:

<?php
    $output_dir = "uploads/";
    if(isset($_FILES["myfile"])) {
        $ret = array();

    //  This is for custom errors;  
    /*  $custom_error= array();
        $custom_error['jquery-upload-file-error']="File already exists";
        echo json_encode($custom_error);
        die();
    */

        $error =$_FILES["myfile"]["error"];
        //You need to handle  both cases
        //If Any browser does not support serializing of multiple files using FormData() 
        if(!is_array($_FILES["myfile"]["name"])) //single file
        {
            $fileName = $_FILES["myfile"]["name"];
            move_uploaded_file($_FILES["myfile"]["tmp_name"],$output_dir.$fileName);
            $ret[]= $fileName;
        }
        else  //Multiple files, file[]
        {
          $fileCount = count($_FILES["myfile"]["name"]);
          for($i=0; $i < $fileCount; $i++)
          {
            $fileName = $_FILES["myfile"]["name"][$i];
            move_uploaded_file($_FILES["myfile"]["tmp_name"][$i],$output_dir.$fileName);
            $ret[]= $fileName;
          }

        }
        echo json_encode($ret);
    }
?>