云平台不支持写操作,动态生成的文件怎么存储?

发布于 2022-08-28 23:32:41 字数 212 浏览 16 评论 0

如题,比如根据用户信息生成二维码,生成静态文件,再调用。可是云平台不支持写操作,所以图片无法本地保存,也就无法保存,大家有没有解决办法?如果不要求持久化,干脆不生成图片,base64 会报类型错误,TypeError: must be convertible to a buffer, not PilImage,这个要怎么做?
还有如果用云存储,也要生成图片才能上传上去。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

欲拥i 2022-09-04 23:32:41

感觉这不是通用的思路,云平台大多都有storage 只需要使用这个功能即可

水晶透心 2022-09-04 23:32:41

如果是新浪云的话,参考SAE上缩略图生成处理imagegif/imagejpeg/imagepng,大同小异。

黑白记忆 2022-09-04 23:32:41

可以生成一个临时文件(系统临时目录,不可能把这个目录也屏蔽了,否则不能做文件上传了),把图片二进制内容写进去。然后再提交这个临时文件,完成后删除即可。例如(PHP举例):

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);
    }
}
$file = new file();
$file->write(图片二进制);

// cURL上传图片
// CURL_POSTFIELDS : @$file->getFilePath()

python。不晓得

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文