为了账号安全,请及时绑定邮箱和手机立即绑定

php yii2接口中图片上传

php yii2接口中图片上传

Yii
GCT1015 2018-08-09 10:01:06
现在在给ios给接口,遇到了一些图片上传的问题,现在可以接收到ios传来的base64编码后的数据。我是否需要解码?解码又需要怎么处理才能把图片上传到服务器,并从服务器获取URL来存入到数据库呢?求大神指导。本人是在yii2框架下写的接口
查看完整描述

2 回答

?
饮歌长啸

TA贡献1951条经验 获得超3个赞

首先,ios是能够传递文件类型的数据的,你可以直接使用$_FILES来获取的,多张图片也一样,沟通下ios是否换种方式。其次,如果在你们这个场景中只考虑base64的图片,你接受到了参数使用base64_decode解码不是解码整个字符串,是解码不带前面格式的串。不过看你贴出来的图,应该是ios那边做了处理,只传递你base64的部分。那么你解码之后的得到的东西,使用file_puts_content写入到一个文件,命名为xxx.jpg(具体后缀名,你可以和ios约定好),保存到临时地址,再移动到你的图片真正的保存地址。

查看完整回答
反对 回复 2018-08-12
?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

我在前端做canvas图片合成的时候用过base64
yii2处理
1.读取base64编码后的数据 => $data
2.$data = base64_decode($data);//data为二进制数据了
3.假设web目录下有upload文件夹,文件名为md5(microtime(true)).'.jpg' => $filename
4.file_put_contents(Yii::$app->basePath.'/web/upload/'.$filename,$data);
5.url = Yii::$app->urlManager->createAbsoluteUrl(['/']).'upload/'.$filename

查看完整回答
反对 回复 2018-08-12
  • 2 回答
  • 0 关注
  • 1758 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信