如题,比如根据用户信息生成二维码,生成静态文件,再调用。可是云平台不支持写操作,所以图片无法本地保存,也就无法保存,大家有没有解决办法?如果不要求持久化,干脆不生成图片,base64 会报类型错误,TypeError: must be convertible to a buffer, not PilImage,这个要怎么做?
还有如果用云存储,也要生成图片才能上传上去。
class file {
private $file = null;
public function __construct($content=null) {
$this->file = tempnam(sys_get_temp_dir(),md5(uniqid().mt_rand()));
if ($content) {
$this->write($content);
}
}
public function write($content) {
file_put_contents($this->file,$content);
}
public function read($content) {
return file_get_contents($this->file);
}
public function getFilepath() {
return $this->file;
}
public function __destruct() {
@unlink($this->file);
}
}
感觉这不是通用的思路,云平台大多都有storage 只需要使用这个功能即可
如果是新浪云的话,参考SAE上缩略图生成处理imagegif/imagejpeg/imagepng,大同小异。
可以生成一个临时文件(系统临时目录,不可能把这个目录也屏蔽了,否则不能做文件上传了),把图片二进制内容写进去。然后再提交这个临时文件,完成后删除即可。例如(PHP举例):
python。不晓得