不知道文件上传到哪里去了
使用webuploader插件上传文件或者上传图片,要想看到这个方法能不能用,就得知道上传的文件有没有存入到相应的文件保存地址,如果在相应的路径找不到上传的文件,就不知道到底有没有上传成功。
为了解决这个问题,我在网上查看了好多的教程和博客等资料,一直也没有找到相应的答案。
还是来看官方文档相关部分内容吧。
在使用的时候,首先要进行初始化
var uploader = WebUploader.create({
// swf文件路径
swf: BASE_URL + '/js/Uploader.swf',
// 文件接收服务端。
server: 'http://webuploader.duapp.com/server/fileupload.php',
// 选择文件的按钮。可选。
// 内部根据当前运行是创建,可能是input元素,也可能是flash.
pick: '#picker',
// 不压缩image, 默认如果是jpeg,文件上传前会压缩一把再上传!
resize: false
});
就在这个初始化的这段代码中,困了我三天。
我一直迷惑的是:server这个参数的值到底应该怎样设置。
文档注释为“文件接收服务端”。
因为一直找不到文件上传的地址,所以就认为应该把这个参数的值换成本地路径。
接下来是各种尝试,但无论把“server”的值写成什么,在相应的路径也找不到上传的文件。
后来注意到文档中的“fileupload.php”这个文件,打开这个文件,发现了一个变量“$uploadDir = ‘upload’”,然后上传文件后,会在与文件“fileupload.php”同一路径下找到一个“upload”文件夹,打开这个文件夹,里边就有刚刚选定并上传的文件。
这下茅塞顿开,原来webuploader有默认的保存文件路径,就是”$uploadDir“的值。
那接下来就我就尝试修改$uploadDir的值,也试了好多,什么相对路径,绝对路径,都不行。
后来找到这个文件夹,复制它的path,结果是“D:\wamp\www\lv8\public\hui\lib\webuploader\0.1.5\server\upload”,于是把修改“fileupload.php”文件中”$uploadDir“的值为“$uploadDir = ‘D:\wamp\www\lv8\public\hui\lib\webuploader\0.1.5\server\upload’”
修改完成后,再上传文件,结果保存在原来的文件夹里,与“$uploadDir = ‘upload’”结果一样。
那我想把它保存在laravel框架中的公共磁盘文件夹“public/storage/upload”,$uploadDir应该怎么设置呢?
如法炮制,复制这个文件夹的path路径,得到的结果是“D:\wamp\www\lv8\public\storage\upload”,然后把$uploadDir设置成“$uploadDir = ‘D:\wamp\www\lv8\public\storage\upload’”,然后上传文件,再查看文件夹“D:\wamp\www\lv8\public\storage\upload”
果然发现了刚刚上传的文件。
关于webuploader文件上传保存路径的问题就跟大家分享到这里。