如何自动给文件命名,避免覆盖同名文件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何自动给文件命名,避免覆盖同名文件?相关的知识,希望对你有一定的参考价值。

本人从多个地方复制图片到D盘X文件夹下,因为图片较多,有同名图片,为避免覆盖同名图片,怎么办啊```?能自动给同名文件重命名吗?

1、选中所有的文件(你要移动的图片)。
2、然后按F2键,这时会提示你输入文件名。
3、随便输入一个文件名,则其他的文件就会以这个文件名+自动编号的形式命名了,不会有重复。
参考技术A 用ACDSEE,会提示你覆盖还是跳过还是重命名,比较方便。

Amazon S3 避免覆盖同名对象

【中文标题】Amazon S3 避免覆盖同名对象【英文标题】:Amazon S3 avoid overwriting objects with the same name 【发布时间】:2012-09-21 05:07:11 【问题描述】:

如果我将文件名与存储桶中对象的文件名相同的文件上传到 S3,它会覆盖它。有哪些选项可以避免覆盖具有相同文件名的文件?我在我的存储桶中启用了版本控制,认为它可以解决问题,但对象仍然被覆盖。

【问题讨论】:

我不确定,但您不能将此对象的 ACL 设置为只读吗?我的意思是,对于您上传的每个对象。 我将 ACL 设置为公开,因为任何人都可以看到这些文件。 【参考方案1】:

我上面的评论不起作用。我认为WRITE ACL 也适用于对象,但它只适用于存储桶。

由于您启用了版本控制,您的对象不会被覆盖。但如果您未在 GET 请求或 URL 中指定版本,则将采用最新版本。这意味着当您将对象放入 S3 时,您需要保存响应告诉您的 versionID,以便检索第一个对象。

请参阅Amazon S3 ACL for read-only and write-once access 了解更多信息。

【讨论】:

【参考方案2】:

您还可以配置具有有限权限的 IAM 用户。写入仍然是写入(即更新),但无论如何使用 IAM 用户是最佳实践。

所有者(即您的“长期访问密钥和秘密密钥”)始终拥有完全控制权,除非您完全想方设法禁用它。

【讨论】:

谢谢,我还没有想到。如果我可以在 AWS 中进行设置,那么无法更新/覆盖的用户将是理想的选择。 您必须仔细检查文档。我不知道 S3 是否理解 writeupdate 之间的区别。我知道默认情况下(即完全权限),写入和更新被视为同一件事。【参考方案3】:

如果您使用数据库将每个文件的密钥存储在 s3 存储桶上,这是我的建议。

生成随机密钥。 尝试在具有允许空条目的唯一约束的字段中插入/更新您的数据库的键。 如果失败,则密钥已被使用,重复此操作,直到获得唯一密钥。

然后使用您知道是唯一的密钥将您的文件放在 s3 上。

【讨论】:

以上是关于如何自动给文件命名,避免覆盖同名文件?的主要内容,如果未能解决你的问题,请参考以下文章

避免文件上传命名冲突的策略

复制重命名覆盖mod是啥意思?

如何让文件自动重命名?

redis键重命名

jquery文件上传 - 如何覆盖文件不重命名

如何避免在 aspx 页面中重复命名空间