## H5版本 H5版本 H5版本
##### 一、安装依赖
```
npm i ali-oss --save
```
##### 二、在需要上传的页面或者JS文件中引入
```
const OSS = require('ali-oss');
```
##### 三、通过uni-app的API选择照片
> 此处获取的是图片的临时地址,在H5上为 **blob地址**
```
uni.chooseImage({
count: 6, //默认9
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
sourceType: ['album'], //从相册选择
success: function (res) {
console.log(JSON.stringify(res.tempFilePaths));
// 获取到的应该是 blob地址
}
});
```
##### 四、获取 OSS STS 签名
> 此处为后台签名接口返回。 获取 临时 密钥。
![返回示例](https://i.vgy.me/3EDYO1.png)
##### 五、(重点!)将选择的blob地址实例化为一个文件对象 就行input选择出的文件对象一样
> 传入 blob地址,返回promise, 打点then() 即可获取 blob对象
```
function h5_url_to_blob(url){
return new Promise((resolve,reject)=>{
var xhr = new XMLHttpRequest();
xhr.open( 'GET', url, true);
xhr.responseType = 'blob';
xhr.onload = function( e) {
if(this.status == 200) {
var Blob = this.response;
// console.log(myBlob)
resolve(Blob)
// myBlob现在是对象URL指向的blob。
}
};
xhr.send();
})
}
```
##### 六、实例化OSS,并上传。
```
let client = new OSS({
accessKeyId: sign.AccessKeyId, // 后台的临时签名ID
accessKeySecret: sign.AccessKeySecret, // 后台的临时签名密钥
stsToken: sign.SecurityToken,
endpoint: 'xxxxbeijing.aliyuncs.com/', // 上传后的域名
bucket: 'xxx', // OSS仓库名
});
let curTime = new Date();
let year = curTime.getFullYear(),
month = curTime.getMonth() + 1,
day = curTime.getDate()
生成日期文件夹 自定义,可根据自身业务 区分文件夹。每个 ‘ / ’ 即是一级目录
let dir = 'imgs/' + year + '/' + (month < 10 ? '0' + month : month) + '-' + (day < 10 ? '0' + day : day) + '/'
let result = await client.put(dir +'文件名', '通过第五步转换的blob对象');
```
- vue-quill-editor
- 添加自定义上传图片功能(上传至服务器或七牛云)
- 微信web JSSDK
- 常用CSS
- 实现单行、多行文本溢出显示省略号
- 滤镜(filter)
- GIT
- win7 设置自动保存帐号密码
- git 官方图形界面GUI 汉化
- 阿里OSS
- 阿里云OSS 浏览器直传
- uni-app H5直传OSS
- html2canvas无法使用OSS图片的问题
- 常用NPM包
- 日期格式化 - dateformat
- H5-API
- 文件读取器 - FileReader
- 二进制大对象 - Blob
- JS-常用 功能
- 检验手机号
- 检验身份证
- 检验是否是汉字
- 获取浏览器参数
- 手机类型判断
- 生成随机字符串
- wordpress
- 下载-安装
- 创建一个新的主题(模板)
- ueditor直传OSS
- RESTFul API
- 软件工具
- Cmder 代替windows cmd的好玩意
- H5页面控制台(vconsole)
- ThinkPHP
- Linux系统LNMP集成环境
- 安装命令
- 安装PHP多版本
- 管理虚拟机
- 安装composer
- 设置根目录为public无效的问题
- 路由
- TP5 route 无法生效
- 路由添加版本号