如何为每个文件指定唯一名称?

时间:2013-10-29 21:20:59

标签: c# asp.net

我很想知道如何为每个正在异步上传到服务器上的文件提供唯一标识。我喜欢(www.trello.com)向服务器发送请求的方式,假设如果我在名为“01.gif”的卡上传文件,它将被发送到服务器。并且每次发出GET请求时,该文件都会提供它的唯一标识,如“527022b97b67b12c12001373”。

有人可以了解他们已经实施了什么,或者我应该做些什么来获取每个文件的唯一标识符?

由于

2 个答案:

答案 0 :(得分:1)

在不知道您正在使用的后端技术的情况下,很难给出绑定建议,但是,在asp.net的情况下,您只需在收到流时为文件分配一个新的guid,然后将此guid保存到您的数据库中,以便您可以轻松识别上传它的用户等,以及您可能已包含在帖子中的任何其他基于上下文的数据。

生成的guid与你描述的结构类似,即0B8A0E7D-C66B-4AAB-A90C-FA7625F51576

如上面的评论中所述,这与ajax或javascript无关,并且仅与后端处​​理有关。

答案 1 :(得分:1)

对于您的唯一网站使用情况,可能不需要UUID。如果您使用PHP进行文件上传,则可以使用这样的文件名保存在磁盘中而不会出现碰撞风险:

<?php
//
// get a string like: 4b3403665fea6.gif:
//
$filename = uniqid() . ".gif";
//...
?>

参考:http://php.net/manual/fr/function.uniqid.php