关于上传图片资源到阿里云oss

关于上传图片资源到阿里云oss

  • 首先阿里云oss是个啥东西?

    阿里云 OSS(Object Storage Service)为您提供基于网络的数据存取服务。使用 OSS,您可以通过网络随时存储和调用包括文本、图片、音频和视频等在内的各种结构化或非结构化数据文件。
    阿里云 OSS 将数据文件以对象(object)的形式上传到存储空间(bucket)中。 您可以创建一个或者多个存储空间,然后向每个存储空间中添加一个或多个文件。您可以通过获取已上传文件的地址进行文件的分享和下载。您还可以通过修改存储空间或文件的属性或元信息来设置相应的访问权限。
    以上这些就是阿里云官网的简介!!!

  • 废话少说 直接看怎样操作

    这篇文章介绍的是使用JQurey上传图片资源到oss 使用其他框架的小伙伴建议去看下官方的文档介绍 避免采坑(留下了痛苦的眼泪)
    先看介绍讲解 下面会贴出完整代码

第一步: 引入资源文件

	<script src="http://gosspublic.alicdn.com/aliyun-oss-sdk-4.3.0.min.js"></script>

第二步: oss服务器配置

    var client = new OSS.Wrapper({
        region: "oss-ap-bbbbbbbb-1", //oss服务器创建的地点(代替)
        accessKeyId: "***********",//访问控制中创建的accesskeyId(找自己的)
        accessKeySecret: "**********",//accesskeyId对应的密钥(找自己的)
        bucket: "abcde"  //oss服务器上创建的bucket的名称
    });

第三步: 整理你要上传的图片(file格式)

     let img = document.getElementById("filePhoto").files[0];
     //这里根据需求可以选择拼接文件名或者使用文件原本的文件名
     let suffix = img.name.split(".")[1]; // 获取文件后缀名
     //下debt为要存储的文件夹 (根据实际需求) 
     let filename = 'debt/'+  new Date().getTime() + 0 + "." + suffix; // 为文件命名
     
     //听说这里有个坑(请求跨域) 我没遇到! 解决方案:添加: img.crossOrigin = "Anonymous";

第四步: 发送请求上传图片

	 client.multipartUpload(filename, img).then(res => {
	 	console.log(res)
	 }).catch(err => {
	 	console.log(err)
	 })

就这几步基本搞定 下面看下请求和响应
请求的地址:

http://abcde.oss-ap-oss-ap-bbbbbbbb-1.aliyuncs.com/debt/346516167529280070.jpg

返回的信息

{
name: "debt/346516167531471450.jpg"
res: {status: 200, statusCode: 200, headers: {}, size: 0, aborted: false,}
url: "`http://abcde.oss-ap-oss-ap-bbbbbbbb-1.aliyuncs.com/debt/346516167529280070.jpg"
}

这就成了 一般后端存储的话都是要一个name 和 url 就ok了

完整代码块

<script src="http://gosspublic.alicdn.com/aliyun-oss-sdk-4.3.0.min.js"></script>
   var client = new OSS.Wrapper({
            region: "oss-ap-bbbbbbbb-1", //oss服务器创建的地点(代替)
            accessKeyId: "***********",//访问控制中创建的accesskeyId(找自己的)
            accessKeySecret: "**********",//accesskeyId对应的密钥(找自己的)
            bucket: "abcde"  //oss服务器上创建的bucket的名称
        });
	
//上传照片
    function updataPhoto(id) {
        $("#filePhoto").unbind().change(function () {//监听图片上传事件
            let img = document.getElementById("filePhoto").files[0];
            //拼接文件名及后缀(也可直接使用原本的文件名)
            //img.crossOrigin = "Anonymous";
            let suffix = img.name.split(".")[1]; // 获取文件后缀名
            let filename = 'debt/' + id + new Date().getTime() + 0 + "." + suffix; // 为文件命名
            client.multipartUpload(filename, img)
                .then((result) => {
                    console.log('result', result
                })
                .catch(function (err) {
                    console.log(err);
                });
        	})
       }

感谢阅读!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值