解决H5调用阿里云OSS上传图片无法实时获取上传结果的一个方法

由于公司的H5在调用阿里云OSS上传图片时,FUNCTION是异步的而且无法实时返回结果。

造成的问题就是前段无法获取到图片上否已经上传成功然后进行跳转。

之前的想到的方法是固定时间跳转,这当然只能解决一些常规的问题,对于太大或太小的图片效果都不尽如人意。

后来想到一个方法:

在调用OSS FUNCTION的时候,同时开启一个定时任务每200ms(可自定义)去使用自定义的图片url进行一次HTTP通信,如果通信结果为200,那么就说明

图片已经上传成功,然后就可以进行跳转了,完美解决问题!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Vue中调用阿里云OSS进行多张图片,可以按照以下步骤进行操作: 1. 在你的Vue项目中安装ali-oss和element-ui(可选)依赖: ``` npm install ali-oss element-ui ``` 2. 在你的Vue组件中引入所需的库和样式: ```javascript import OSS from 'ali-oss'; import { Message, Upload } from 'element-ui'; import 'element-ui/lib/theme-chalk/index.css'; ``` 3. 创建OSS客户端实例并配置连接参数: ```javascript const client = new OSS({ region: '<your-oss-region>', accessKeyId: '<your-access-key-id>', accessKeySecret: '<your-access-key-secret>', bucket: '<your-bucket-name>' }); ``` 确保替换 `<your-oss-region>`, `<your-access-key-id>`, `<your-access-key-secret>` 和 `<your-bucket-name>` 为你自己的阿里云OSS相关信息。 4. 在模板中使用element-ui的Upload组件来实现图片: ```html <template> <div> <el-upload class="upload-demo" action="" :auto-upload="false" :on-change="handleFileChange" > <el-button slot="trigger" size="small" type="primary">选取文件</el-button> <el-button style="margin-left: 10px;" size="small" type="success" @click="handleUpload">上OSS</el-button> </el-upload> </div> </template> ``` 5. 在Vue组件的methods中实现文件选择和上的逻辑: ```javascript methods: { handleFileChange(fileList) { this.fileList = fileList; }, handleUpload() { this.fileList.forEach(file => { const fileName = file.name; client.put(fileName, file) .then(() => { Message.success(`${fileName} 上成功`); }) .catch(error => { Message.error(`${fileName} 上失败:${error}`); }); }); } } ``` 以上代码中的`fileList`是一个存放选择的文件列表的数组,可以在data中定义并初始化为空数组。 通过以上步骤,你就可以在Vue中调用阿里云OSS进行多张图片了。请确保你的阿里云OSS配置正确,并根据具体需求进行适当的定制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值