zoukankan      html  css  js  c++  java
  • amis项目,图片上传剪切功能问题

    最近在做amis低代码平台时,发现图片上传组件,在使用剪切crop功能时,生成的文件格式不同,导致后台接口接收不到相应的图片数据。

    经查资料,发现剪切后的文件被生成了blob数据,而原来没有crop时生成的是file文件,这是当后台接口不接收blob数据时,需要在拦截器中将blob转换为file文件即可

    两次请求的数据格式如下:

    1、 这种为正确的请求,file格式数据展示

    2、 这种为错误的请求,blob格式的数据展示

    此时就需要转换数据格式了

                    // 根据图片上传组件的url约定进行处理
                    if (splitUrl(url).query == 'cropBlobType=1') {
                      // 经剪切过的数据为Blob数据,需将其转换为file数据
                      const fileData:any = data.get("file");
                      if (fileData) {
                        var file = new File(
                          [fileData], 
                          `${randomString()}.png`, 
                          {
                            type: fileData.type,
                            lastModified: Date.now()
                          }
                        );
                        // 最后再将转换后的file文件重新赋值给formData格式的data
                        data.set('file',file)
                       }
  • 相关阅读:
    windows10安装pycharm,以及pycharm教程和破解码
    windows 10安装python3和python2
    Git之仓库管理
    Python操作 Excel表格
    ansible 基础操作
    Flask-Migrate
    flask-script
    flask-sqlalchemy
    基于数字证书的二次登录认证流程
    摘录:识别系统原理(转)
  • 原文地址:https://www.cnblogs.com/gopark/p/15006493.html
Copyright © 2011-2022 走看看