php yii2接口中图片上传

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

GCT1015
浏览 1765回答 2
2回答

饮歌长啸

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

幕布斯6054654

我在前端做canvas图片合成的时候用过base64yii2处理1.读取base64编码后的数据 => $data2.$data = base64_decode($data);//data为二进制数据了3.假设web目录下有upload文件夹,文件名为md5(microtime(true)).'.jpg' => $filename4.file_put_contents(Yii::$app->basePath.'/web/upload/'.$filename,$data);5.url = Yii::$app->urlManager->createAbsoluteUrl(['/']).'upload/'.$filename
打开App,查看更多内容
随时随地看视频慕课网APP