Sivo 悉见

ThinkPHP整合Uploadify后出现单击flash按钮没有反应的情况

匿名 · 更新于 2014/1/12

今天将Uploadify整合到自己的ThinkPHP项目中,结果整好后发现单击按钮没有反应了,但是火狐浏览器也没有报错,后来用Chrome测试,发现提示了一条信息,大致意思就是没有找到uploadify.swf的意思,但是我想,没有找到,怎么会显示出来呢?如果flash路径不对,也面上就不应该出现按钮啊。。。也就是这一念之差,让自己谷歌百度了一个小时,结果还是没有解决,最后还是回过头来看看这条错误信息吧,我的JS代码如下:

$(function() {
	$('#file_upload').uploadify({
		'formData'     : {
			'timestamp' : '<{$timestamp}>',
			'token'     : '<{$token}>'
		},
		'swf'      : '/Public/Images/Uploadify/uploadify.swf',
		'uploader' : '/index.php/Pms/uploadify',
		'auto' : false, //是否自动上传
          //以下部分略去...

 我将参数swf后边的/Public/Images/Uploadify/uploadify.swf删除,然后刷新页面,按钮居然还在(因为刚刚学uploadify,不太了解其中原理,以为这个就是控制flash显示的),后来我就在网站根目录下新建了一个uploadify文件夹,然后将/Public/Images/Uploadify/下的uploadify.swf拷贝到uploadify目录中,结果刷新页面,按钮正常了,自己琢磨了一下,发现问题出在自己对ThinkPHP路径问题不是特别理解,因为用Public路径,框架就会用pathinfo来解析,结果就肯定找不到了,而用一个非thinkphp系统的文件夹,就不会出现这种情况了,希望这个帖子能帮助和我一样初学Thinkphp和Uploadify的朋友一点帮助吧!
 
$(function() {
	$('#file_upload').uploadify({
		'formData'     : {
			'timestamp' : '<{$timestamp}>',
			'token'     : '<{$token}>'
		},
		'swf'      : '/uploadify/uploadify.swf',
		'uploader' : '/index.php/Pms/uploadify',
		'auto' : false, //是否自动上传
          //以下部分略去...