Javascript 将新文件名传递回jquery
我正在使用一些jquery来帮助将文件上载到php脚本。一切正常,文件确实上传了。但是在上传的过程中,我使用了一个新的唯一文件名来调整文件大小以满足我们的需要。我希望将新的唯一文件名传递回jquery,并将其显示在页面上。现在,它只显示原始图像(未调整大小) 以下是jquery代码:Javascript 将新文件名传递回jquery,javascript,php,jquery,Javascript,Php,Jquery,我正在使用一些jquery来帮助将文件上载到php脚本。一切正常,文件确实上传了。但是在上传的过程中,我使用了一个新的唯一文件名来调整文件大小以满足我们的需要。我希望将新的唯一文件名传递回jquery,并将其显示在页面上。现在,它只显示原始图像(未调整大小) 以下是jquery代码: $(function(){ var btnUpload=$('#upload'); var status=$('#status'); new AjaxUpload(btnUpload
$(function(){
var btnUpload=$('#upload');
var status=$('#status');
new AjaxUpload(btnUpload, {
action: 'upload-file.php',
name: 'uploadfile',
onSubmit: function(file, ext){
if (! (ext && /^(jpg|png|jpeg|gif)$/.test(ext))){
// extension is not allowed
status.text('Only JPG, PNG or GIF files are allowed');
return false;
}
status.text('Uploading...');
},
onComplete: function(file, response){
//On completion clear the status
status.text('');
//Add uploaded file to list
if(response==="success"){
$('<li></li>').appendTo('#files').html('<img src="./uploads/'+file+'" alt="" /><br />'+file).addClass('success');
} else{
$('<li></li>').appendTo('#files').text(file).addClass('error');
}
}
});
});
有没有想过如何重新获得新的唯一文件名,比如:1397413326.jpg
谢谢您将文件名返回,而不是“success”一词。我可以这样做,但我如何才能使jquery捕获名称并显示新图像?一种解决方案是返回空字符串以显示错误并更改测试:if(response==“success”){另一个解决方案是返回一个带有结构化数据的json对象,因此您在响应对象上有不同的属性。这让我想到了反转检查过程,确保名称不为空,并将文件更改为响应-并且可以工作。谢谢!
$uploaddir = 'uploads';
$file = $uploaddir . basename($_FILES['uploadfile']['name']);
if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $file)) {
$path = realpath(dirname(__FILE__));
include $path . '/uploads/phmagick.php';
$temp_file = explode(".", $_FILES['uploadfile']['name']);
$time = time();
$new_file = $time . '.' . $temp_file[1];
$p = new phmagick($path . '/uploads/' . $_FILES['uploadfile']['name'], $path . '/uploads/' . $new_file);
$p->convert();
$phMagick = new phMagick($path . '/uploads/' . $new_file, $path . '/uploads/' . $new_file);
$phMagick->debug=true;
$phMagick->resize(414,414,true);
echo "success";
} else {
echo "error";
}