微擎怎么将编辑器里的图片上传到远程存储那

背景:前提自己没有做过接口,全部用微擎的七牛云自己的远程附件函数file_remote_upload函数,用的微信借口上传图片,然后过去她的mediaid再用函数就可以了。但是我现在再做编辑器,所以编辑器一旦有图片就很麻烦,所以我就尝试先上传到本地,再在本地用那个函数上传到七牛云存储。可是,貌似这个函数不支持上传本地图片。有没有人知道则么做?难不成还要自己搭接口?

==================

过了好三天,我现在确实做出来了,但是有个问题想解决下。

先说下我现在的情况,我并没有自己搭七牛云的接口,而是用微擎frame里面的函数集里面的函数file.func.php 里的file_dir_remote_upload()函数,实现文件一下子上传。其实这个功能就是我们在微擎里面的“一键上传”的函数。其实我也不是全看懂,不过最好要大致看懂,里面的机制。具体自己去frame/function里面找。

然后我先说下我的编辑器上传图片是怎么个情况。现在编辑器上传图片是在一个文件夹里,然后用户提交完数据跳转到制定页面时,我就在那个页面里面添加校验上传图片的那个目录文件是否为空,不为空的话,就直接将整个文件夹里面的文件遍历上传。

是问题好像没事,但是就是编辑器的异步上传出现问题,就是实际上用户在编辑器里面添加图片并显示出来的时候,图片就已经上传到后台。如果用户失误上传错照片在编辑器那边删除。用户这样的操作不会同步删除后台文件,丢给后台写程序删除。

我后台上传图片的时候是想用正则将最近一次更新数据拿出来,然后php正则替换,‘/ueditor/'替换成七牛云远程文件的前缀。然后,再将其余多余的图片删掉。但是你想下如果两个用户一个在上传,一个在提交之后跳转到指定页面校验删除不是在最近一次数据里面的文件,这样就有可能删掉其他用户已经上传的图片,以至于,可能到时那个被删除的用户的发布内容里,图片无法显示(因为线上源文件被删了)。

------------------------------------------------

所以我想现在应该两个方案(原本只想到一个,但是刚刚在描述问题时又想到一个可以延伸的方向):

第一种:在百度编辑器创建的上传目录里面加多一级就是以用户的openid为名胡文件夹,然后用户提交以后,跳到指定页面的时候,就找到自己那个openID的文件夹里对比数据库数据,获取到数据库里存在的图片的文件名,然后就先上传(微擎自带上传远程文件以后删除本地文件,看源码有这种操作),然后,剩下的图片或者别的文件就可以遍历删除了。

第二种:就如上面描述思路的过程中发现的问题,能不能在编辑器上删除那个图片的同时就直接将那个文件在后台删除。(我觉得这个是最理想也是最难弄的);

=========

具体点,其实现在这个问题就是编辑器监听图片上传和删除,但是文件夹都一样的,在同一文件夹里面怎么监听?

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值