- JScript code
var uploads='/uploads/logo/<?php echo date("Y");?>/<?php echo date("m");?>'; $("#uplogo").uploadify({ 'uploader' : '/uploadify/uploadify.swf', 'script' : '/card/fileup?flag=logo', 'cancelImg' : '/uploadify/cancel.png', 'folder' : uploads, 'queueID' : 'fileQueue', //文件队列的ID,该ID与存放文件队列的div的ID一致 'auto' : true, //true自动上传,false不自动上传 'multi' : false, //置为true时可以上传多个文件 'fileDesc' : '图片(*.gif;*.jpg;*.jpeg;*png)', //文件类型提示 'fileExt' : '*.gif;*.jpg;*.png', //上传文件类型限制 'sizeLimit' : 1024000, //单个文件上传大小 'simUploadLimit ': 1, //同时可选择上传文件的数量 'queueSizeLimit' : 1, 'buttonImg' : '/images/upload.gif', 'width' : 80, 'height' : 26, 'wmode' : 'transparent', 'onComplete' : function(event, queueId, fileObj,response){$("#logo").val(response);$("#div_logo").addClass("div_pic");$("#div_logo")('<img src="'+response+'" style="width:200px;" />');} });
cardController.php
- PHP code
public function fileupAction(){ try { move_uploaded_file($tempFile,$targetFile); //完成上传,传出上传后地址 $this->view->msg=$_REQUEST['folder']."/".$newname; } catch(Exception $e) { error_log($e->getMessage());exit(); }}
以上代码,在IE下测试,上传无误,但是在非IE浏览器下,包括火狐,谷歌,Opera,Safari等浏览器,都是上传进度显示到100%,但不能够上传成功。
如下图
------解决方案--------------------------------------------------------
上传应该是没问题,应该是上传文件丢失了session,可以将需要的session再次post进去,
- JScript code
$("#uplogo").uploadify({ 'uploader' : '/uploadify/uploadify.swf', 'script' : '/card/fileup?flag=logo', 'cancelImg' : '/uploadify/cancel.png', 'folder' : uploads, 'scriptData' : {'dealer_id':'参数内容'},//加上这句,用post方法接收即可 'queueID' : 'fileQueue', //文件队列的ID,该ID与存放文件队列的div的ID一致 'auto' : true, //true自动上传,false不自动上传 'multi' : false, //置为true时可以上传多个文件 'fileDesc' : '图片(*.gif;*.jpg;*.jpeg;*png)', //文件类型提示 'fileExt' : '*.gif;*.jpg;*.png', //上传文件类型限制 'sizeLimit' : 1024000, //单个文件上传大小 'simUploadLimit ': 1, //同时可选择上传文件的数量 'queueSizeLimit' : 1, 'buttonImg' : '/images/upload.gif', 'width' : 80, 'height' : 26, 'wmode' : 'transparent', 'onComplete' : function(event, queueId, fileObj,response){$("#logo").val(response);$("#div_logo").addClass("div_pic");$("#div_logo")('<img src="'+response+'" style="width:200px;" />');} });