我測試時,通常發生此狀況會是在傳了第一個檔後,按了畫面Refresh,再傳第二個檔時發生。
我的解決方法:
讓瀏覽器不要讀取Cache檔的uploadify.swf,所以在程式中加入時間參數,讓瀏覽器每次比對URL均不同而直接下載uploadify.swf,不使用Cache檔。
將
'uploader' : 'scripts/uploadify.swf',
改成
<?php
$temp=time();
echo "'uploader' : 'scripts/uploadify.swf?temps=$temp',";
?>
index.php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Uploadify Example Script</title>
<link href="css/default.css" rel="stylesheet" type="text/css" />
<link href="css/uploadify.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="scripts/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="scripts/swfobject.js"></script>
<script type="text/javascript" src="scripts/jquery.uploadify.v2.1.0.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#uploadify").uploadify({
<?php
$temp=time();
echo "'uploader' : 'scripts/uploadify.swf?temps=$temp',";
?>
'script' : 'scripts/uploadify.php',
'cancelImg' : 'cancel.png',
'checkScript' : 'scripts/check.php',
'folder' : 'uploads',
'queueID' : 'fileQueue',
'sizeLimit' : 629145600,
'auto' : false,
'multi' : false
});
});
</script>
</head>
<body>
<div id="fileQueue"></div>
<input type="file" name="uploadify" id="uploadify" />
<p><a href="javascript:jQuery('#uploadify').uploadifyClearQueue()">Cancel All Uploads</a></p>
<p><a href="javascript:jQuery('#uploadify').uploadifyUpload()">start upload</a></p>
</body>
</html>