javascript 上传本地文件到阿里云OSS
javascript 上传本地文件到阿里云OSS
原文出处[(https://blog.****.net/shidewen1125/article/details/53442820)]
废话不多说,说一下需要用到的东西
region
accessKeyId:
accessKeySecret:
html代码:
<input type="file" id="fileName">
<!-- <img id="img" src="./bw1.jpg" alt=""> -->
<button "upload()">上传</button>
首先引入
<script src="http://gosspublic.alicdn.com/aliyun-oss-sdk-4.4.4.min.js"></script>
主要代码
<script type="text/javascript">
var client = new OSS.Wrapper({
region: "oss-cn-beijing", //阿里云获取
accessKeyId: "阿里云获取",
accessKeySecret: "阿里云获取",
bucket: "study-oss" //要存储的目录名
});
function upload() {
var file = document.getElementById("fileName").files[0];
var val = document.getElementById("fileName").value;
// 取出文件后缀名
var suffix = val.substr(val.indexOf("."));
var obj = timestamp();
// var storeAs = 'upload-file/' + "/" + obj + suffix;
var storeAs = obj + suffix;
client.multipartUpload(storeAs, file).then(function (result) {
var url = result.res.requestUrls[0];
var length = url.lastIndexOf('?');
var imgUrl = url.substr(0,length);//文件最终路径
// $("#img").attr("src",url.substr(0,length))
console.log(url.substr(0,length))
}).catch(function (err) {
console.log(err);
});
}
/**
* 生成文件名
* @returns
*/
function timestamp() {
var time = new Date();
var y = time.getFullYear();
var m = time.getMonth() + 1;
var d = time.getDate();
var h = time.getHours();
var mm = time.getMinutes();
var s = time.getSeconds();
return "" + y + add0(m) + add0(d) + add0(h) + add0(mm) + add0(s);
}
function add0(m) {
return m < 10 ? '0' + m : m;
}
</script>
结束,亲测有用。