2011-10-10 115 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'不是该事件的参数。 –