图片后台处理后如何删除原文件

我使用$putPolicy->PersistentOps加指令对图片进行后台处理,希望处理完成后自动删除原图,但没找到相关功能,目前好像使用$err = Qiniu_RS_Delete($client, $bucket, $key1);删除文件。

但问题是,用户在前段上传图片,我构造的token可以将处理命令放进PersistentOps,用户点击上传后就不用管了,但后台图片处理时间不固定,虽然可以用persistentNotifyUrl通知服务器进行Qiniu_RS_Delete删除操作,但多了一步。

能否实现用户上传后,后台根据指令对图片进行处理,处理后自动删除原图??

阅读 8.7k
3 个回答

还有几个问题,找不到答案,基于PHP-SDK-6.1.5:

1。saveKey怎么指定?
比如我给上传文件按日期时间起个名字,并加上扩展名:
$putPolicy->saveKey= date("YmdHis").'$(imageInfo.format)';
结果没反应,仍以hash命名。然后我想使用原文件名做个测试,看saveKey如何使用:
$putPolicy->saveKey = $(fname); //结果报错,因为PHP会把$解释为变量
$putPolicy->saveKey = '$(fname)'; //结果没反应,仍以hash命名
$putPolicy->saveKey = "$(fname)"; //结果没反应,仍以hash命名
$putPolicy->saveKey = "\$(fname)"; //结果没反应,仍以hash命名
请问saveKey究竟是神马东东?给个例子好不?

2.transform 的使用问题
transform后文件的命名是什么,目前没有测试结果。但从语义上看,应该遵循Key > saveKey > hash的资源命名顺序,因为文件变换后存储,原文件被删除了,变换结果就是最终资源。

3.fopTimeout 的使用问题
看了fopTimeout参数,是估计数据处理的时间值,这里有个问题:用户不知道你们服务器的处理能力,或没有一个参考,无法确定一个正好的时间值,如一个100M的视频转换,不同的计算能力,其转换时间差别很大。再如果你们的计算能力是动态的,更不好估计。建议给个处理参考。如:xxM的图片、视频、音频做xxx操作耗时xxx,用户以此推断自己的处理时间。

4.请尽快推出支持transform fopTimeout的PHP-SDK,谢谢。

5.希望文档能尽快完善,去掉那些绕弯子的加密过程(给个链接即可,想了解的去学习),按SDK给出使用的例子,多给例子! 总之,文档应该教会用户如何使用,而不需要让用户了解内部实现。
比如token生成,文档中介绍了一堆算法、计算步骤,开始以为需要自己在程序中按此实现,最后绕一大圈才发现有内置函数,其实这个算法原理给个链接既可以,让有兴趣的去学习。你只要告诉用户如何给策略赋值,使用什么函数生成token就可以了。
让用户能快速上手使用,是文档的目的。说实话,真不想因为一个小功能,找半天文档,研究半天也不知道怎么用。

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