文件上传创建临时文件但另外跟踪实际文件名
File upload creating a temp file but additionally keeping track of the actual filename
谁能给我一些关于存储临时文件的技术如何工作的建议。
例如我正在创建一个简单的网络照片库管理。我使用 PhotoGalleryId 作为外键将 PhotoGallery 和照片信息保存在数据库中。对于每张照片,我都会存储文件名:即 (photoname.jpg)。这样,当我从数据库中检索照片时,我可以简单地将文件名与根路径结合起来以设置 img src。
我想进一步加强这一点,以便在用户上传文件时使用随机生成的文件名,而不是他们自己命名的文件名,以确保它始终是唯一的。另外有人可以解释使用临时目录的技术,以及我是否必须将临时文件名存储在数据库中(照片 table)。
你可以:
1) 在保存之前重命名文件(如果需要,包括使用 GUID),并按如下方式存储文件数据:
Create table fileData(...originalFileName varchar(x), savedFileName varchar(x), basePath varchar(x)...)
这将跟踪原始上传文件名、您存储文件的路径以及您决定保存它的文件名。不需要临时文件。
2) 将照片本身存储在数据库中并完全消除 directories/naming 问题。
如果您需要具体信息,请显示您的代码。
谁能给我一些关于存储临时文件的技术如何工作的建议。
例如我正在创建一个简单的网络照片库管理。我使用 PhotoGalleryId 作为外键将 PhotoGallery 和照片信息保存在数据库中。对于每张照片,我都会存储文件名:即 (photoname.jpg)。这样,当我从数据库中检索照片时,我可以简单地将文件名与根路径结合起来以设置 img src。
我想进一步加强这一点,以便在用户上传文件时使用随机生成的文件名,而不是他们自己命名的文件名,以确保它始终是唯一的。另外有人可以解释使用临时目录的技术,以及我是否必须将临时文件名存储在数据库中(照片 table)。
你可以:
1) 在保存之前重命名文件(如果需要,包括使用 GUID),并按如下方式存储文件数据:
Create table fileData(...originalFileName varchar(x), savedFileName varchar(x), basePath varchar(x)...)
这将跟踪原始上传文件名、您存储文件的路径以及您决定保存它的文件名。不需要临时文件。
2) 将照片本身存储在数据库中并完全消除 directories/naming 问题。
如果您需要具体信息,请显示您的代码。