mimeLimit和魔法变量的问题

1。mimeLimit是不支持了?还是未实现?
虽然文档中有介绍,但我看PHP,JAVA的SDK中没有相关的定义。如果取消了,怎么实现类似的功能,这在限制用户上传文件类型中非常有用。如果还未实现,请加油。

2.魔法变量提供了年月日时分秒,如果想以此命名文件(或返回生成时间)时非常的有用,这样可以很直观的看出图片上传时间。但如果文件数组上传或访问量大时,估计这样命名是不行的,将会有重名覆盖的情况出现,只能以hash命名。但如果魔法变量能提供6-8位的微秒数,或提供一个n位的随机数等,将能解决此问题。

阅读 4.8k
2 个回答

1、mimeLimit服务端是支持的,sdk方面我们的更新有迟滞,会尽快加入各语言sdk中。

2、考虑到如果用户的应用有比较频繁的上传,那么微秒其实也是不可靠的。建议使用

saveKey = "$(year)/$(mon)/$(day)/$(hour)/$(min)/$(sec)/$(etag)"

这种同时包含时间和hash的文件名,还可以考虑加入$(endUser)或其他来自客户端的自定义变量以作区分。
这样的好处是文件的条理会比单独使用时间或hash清晰一下

采用"时间+hash"是不错的,优点是同名几率极微,缺点是文件名太长了,46位。
采用"时间+6位微秒"的话,同名几率是1秒内的百万分之一,长度20.
采用"时间+2位UID+6位微秒"的话,同名几率是1秒内的亿分之一,长度22

综合看:
“时间+hash” 或 “时间+hash+UID” 是最安全的,可以满足高安全的应用
"时间+6位微秒",上传量高时,同名几率大增,不建议。
"时间+2位UID+6位微秒",增加了2位随机UID后,同名几率仅亿分之一,靠!谁能做到这样的网站?
而此时文件名长度是22位,可谓即满足文件名称直观、简短的需求,又能满足98%的网站应用!

看来目前呢推荐用“时间+hash”取值,不过仍然强烈建议七牛的亲们,能增加6位的微秒变量。(个人建议)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进