2011-10-10 68 views
0

我正在使用uploadify(一個jQuery插件)上傳文件,因爲我將客戶端添加到我的數據庫。jQuery uploadify更改文件名稱,因爲它正在上傳。

我想將文件附加到客戶端。問題#1是客戶端是新客戶端,所以它尚未被添加到數據庫中。我通過獲取數據庫中的下一個Client_ID來克服這個問題。

現在真正的問題是,所有上傳的文件都應該預先加上這個ID ...類似於: (29)---我希望括號作爲client_ID的添加開放和關閉 - - 我已經在stackoverflow和uploadify.com上搜索過,但不知道如何做到這一點。

我需要通過JS來完成它,因爲我在我的應用程序的其他地方使用了PHP,並且我不想對它進行更改,如果可能的話。

一些代碼: 這裏是jQuery的迄今

$('#file_upload').uploadify({ 
    'uploader' : 'uploader/uploadify.swf', 
    'script' : 'uploader/uploadify.php', 
    'cancelImg' : 'uploader/cancel.png', 
    'folder' : 'clientFiles', 
    'buttonText' : 'Attachments', 
    'removeCompleted' : false, 
    'multi'   : true, 
    'auto'  : true 
    }); 

PHP是被未來的client_id

$sql = "SELECT Client_ID FROM clients"; 
    $result = $db->sql_query($sql); 
    $nextClientID= mysql_num_rows($result)+1; 

感謝您的幫助!

回答

-1

添加到JS

onComplete: function(file, tmpname){ 
alert(tmpname); 
} 

添加到

uploadify.php

die($temp_name); 
+0

似乎根本不起作用。也許你可以給我更多的細節。或者將其改編爲我的代碼。 –

+0

onComplete不是一個有效的事件。正確的事件是onUploadSuccess(文件,數據,響應)http://www.uploadify.com/documentation/ –

1

你只需要從uploadify.php文件返回$ TARGETPATH,這樣的 -

echo $targetPath

並請刪除echo'1'

現在您必須獲取重命名的文件名。你可以在onUploadSuccess函數中獲得這個。 onUploadSuccess()有三個參數(文件,數據,響應),

其中文件給你,你通過您的計算機瀏覽文件的實際名稱和數據給你,你通過你的uploadify.php產生的重命名的文件名代碼根據您的要求。

所以,你可以試試下面的代碼 -

'onUploadSuccess' : function(file, data, response) { 
     alert('Renamed file name is - ' + data); 
    } 

我希望這將助陣。我的一個朋友告訴我這件事,然後我完成了我的工作:)

+1

這是正確的。請確保使用onUploadSuccess事件,而不是onUploadComplete,因爲'data'不是該事件的參數。 –