我刚刚开始使用Plupload,这非常棒且非常有用,但是我正在根据自己的需要进行调整,因为它离我的深度太远了。
基本上我用它只上传一个文件,所以我的代码基于Plupload论坛提供的两个基本教程中的第二个。我正在使用示例PHP脚本upload.php进行处理。
这一切都很完美 - 除了我得到原始文件名,upload.php清理。因此,如果文件名中有空格,我的表单提交脚本不起作用,因为它正在查找具有原始名称的文件。
我显然可以通过删除或修改正则表达式来实现这一点,但我真的不想这样做。我宁愿从upload.php获取一个已清理的文件名,但我不知道如何去做。
我搜索过关于Plupload的这个主题,并且找不到答案,而且我无法更一般地搜索我可以应用的smae原则,因为我甚至不知道什么我在找。任何人都可以对此有所了解吗?
答案 0 :(得分:7)
在upload.php
的第53行中,名称和路径的清理完成了:
$filePath = $targetDir . DIRECTORY_SEPARATOR . $fileName;
如果要在PHP中使用该名称,请在返回成功状态之前调用函数(关于第130行);
如果要在javascript中使用文件名,请将第130行中的JSON回复更改为
die('{"jsonrpc" : "2.0", "result" : null, "id" : "id", "cleanFileName" : "'.$fileName.'"}');
所以包含文件名。在Javascript中添加回调:
uploader.bind('FileUploaded', function(up, file, info) {
console.log(info.response);
});
info.response
是返回的JSON字符串,在服务器上重命名后将包含文件名。