我正在尝试使用blueimp文件上传器来替换现有的系统。
目前我使用的那个允许我点击图片(或链接)上传新文件。
我无法弄清楚如何用blueimp做同样的事情。
点击图片,链接或其他元素ID,我需要做些什么才能触发文件上传?
答案 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);
}
?>