阿里云OSS

想将图片存储到阿里云上,尝试着了解了下阿里云的OSS。

文档地址:https://help.aliyun.com/?spm=5176.doc31837.201511181.1.TePvVX

.net 版本SDK 的github地址:https://github.com/aliyun/aliyun-oss-csharp-sdk?spm=5176.doc32085.2.4.kSjabk

贴个OSS开通的region 和endpoint 的图,地址:https://help.aliyun.com/document_detail/31837.html?spm=5176.2020520105.147.4.VZf3rn

我这属于华东,最开始是用hangzhou那个endpoint尝试获取上传文件 ,发现报错了,原来是我创建的bucket 选择了华东2,所以要用shanghai那个

OssClient client1 = new OssClient(endpoint2, accessKeyId, accessKeySecret); 
#region OSS文件操作

        /// <summary>
        /// 文件上传
        /// </summary>
        /// <param name="filename">文件的本地路径</param>
        /// <param name="keyname">存入OSS上的名字,后续用来获取图片地址用</param>
        /// <returns></returns>
        public PutObjectResult UploadFileToOSS(string filename, string keyname)
        {
            try
            {
                var reslut = client.PutObject(bucketname, keyname, filename);
                return reslut;
            }
            catch (Exception)
            {
                //MessageBox.Show("图片上传失败,文件名:"+filename+",keyname:"+keyname);
                throw new Exception("图片上传失败,文件名:" + filename + ",keyname:" + keyname);
            }
        }
        /// <summary>
        /// 获取图片uri
        /// </summary>
        /// <param name="keyname">上传图片的keyname</param>
        /// <param name="process">需要对图片进行的操作,可空,eg:process = "image/resize,m_fixed,w_100,h_100"</param>
        /// <returns></returns>
        public string GetImgPath(string keyname, string process = null)
        {
            try
            {
                var req = new GeneratePresignedUriRequest(bucketname, key, SignHttpMethod.Get);

                if (!string.IsNullOrWhiteSpace(process))
                {
                    req.Process = process;
                    req.Expiration = DateTime.Now.AddSeconds(30 * 60);
                }

                // 产生带有签名的URI
                var uri = client.GeneratePresignedUri(req);
                return uri.ToString();
            }
            catch (Exception)
            {

                throw new Exception("图片获取失败,key:"+keyname);
            }
        }
        #endregion

  

其中 endpoint:就是上面访问文件的域名(可以试上面贴图中默认的也可以是自定义的)

key:是你上传文件后,访问该文件的名字。

由于我们的web段用的是.NET CORE 就研究了下JS 在浏览器段的上传,发现一定要进行签名才能上传成功,我不知道是不是哪里设置的不对,不过反正生产环境当中肯定得用签名的,所以就没去深究了。

浏览器端的上传我测试了两种,直接表单submit,还有就是ajax,都成功了,官方还给出了个使用插件上传的,那个方便就用哪个

贴个小demo,有winform的也有JS 浏览器上传文件的:https://github.com/huanglin101/ALiYunOSSDemo.git

时间: 2025-01-08 06:32:57

阿里云OSS的相关文章

thinkphp集成系列之阿里云oss

web2.0时代:除了纯信息展示类的网站:基本都是有文件上传功能的: 最不济你得让用户换个头像吧:但是随着业务的发展: 如果上传的文件都和网站程序源代码放在一起:那是有相当多的弊端的: 1:静态文件会占用大量带宽: 2:服务器的成本略高: 常规的做法是把php源代码放到一台服务器上:图片等静态文件放在另一台服务器上: 当一个神奇的“云”时代的到来后:一切就变的更加简单了: 在业务还比较小的时候:我们无需大费周折的去搞一台静态文件服务器:直接使用第三方的即可: 好了:洛里啰嗦了半天:下面请出本篇博

用DzzOffice管理阿里云OSS

在DzzOffice分两种方式管理阿里云OSS 1.把阿里云oss作为多人或企业的共享网盘使用. 2.接入个人的阿里云oss管理,可同时管理多个bucket,多个bucket之间可以互传文件. 下面先介绍第一种方式,OSS多人用作网盘使用. 首先打开DzzOffice开始菜单,在应用列表中打开”云设置和管理“应用 打开后界面如下 先确保要使用的OSS是可用状态 然后点击“企业盘” 这里的企业盘名称是可以修改的,根据自己想起的名字. 我在企业中用,我把它改成我们企业的名称“乐云网盘”一会在网盘管理

(转)云存储:阿里云OSS 、又拍云和 七牛 的比较

阿里OSS:好处就是,那是一套完整的体系,存储,数据库,CDN,服务器,阿里都可以给你全包.缺点,费用对于没有盈利的网站来说太高了,好像定位就是给那些高端客户使用的,而且CDN,OSS的流量是分开收费,带宽(2倍成本,呵呵).又拍云:算是老牌静态存储服务商,自带有CDN.存储空间可以弹性增加(不知道可不可以弹性减少,我只是免费使用了一下).费用计算公式(空间和流量),请求次数是免费.可免费试用7天.开源的程序(DZ,PW,WP)都有插件,也可以直接使用FTP,对于技术上要求不是太高就可以使用.七

Windows环境下用C#编程将文件上传至阿里云OSS笔记

本系列文章由ex_net(张建波)编写,转载请注明出处. http://blog.csdn.net/ex_net/article/details/24962567 作者:张建波 邮箱: [email protected]  欢迎来信交流! 第1步: 下载阿里云OSS的SDK包,由于笔者的环境是PHP服务,所以下载的是PHP的SDK包 http://help.aliyun.com/view/13438816.html 第2步:将代码整合进你的网站或服务中. 第3步:配置OSS访问接口 (1)找到c

jeesz分布式架构集成阿里云oss存储

1. 服务接口定义 /** * 文件上传  1:头像 2:显示图片 3:个人封面  :4:基础图片 * @param request * @param response * @param uid 用户id * @param userType 文件上传  1:头像 2:显示图片 3:个人封面  :4:基础图片 0:视频 * @param files 上传的文件对象 * @return * @throws Exception */ @RequestMapping(value = "/upload/b

发布阿里云OSS for phpcmsV9整合教程

说明:这个算不上是插件,因为没有安装包,需要手工修改代码. 还有一点就是后台发布文章时上传的附件还是会保存在你的服务器上,基于以下原因: 1.个人的需求是前台页面需要使用thumb函数生成多个缩略图大小,thumb函数是不支持远程图片的(保存在OSS上就变远程图片了),即使修改为支持远程图片,也需要将远程图片先保存到本地,这样速度会非常慢,是非常非常: 2.做备份的需要,这点你懂得,某天OSS上的附件没有了就悲剧了,所以使用这个OSS for phpcmsV9需要服务器有一定的空间. 下面是整合

Aliyun OSS Nginx proxy module(阿里云OSS Nginx 签名代理模块)

1.此文章主要介绍内容 本文主要介绍怎样利用Nginx lua 实现将阿里云OSS存储空间做到同本地磁盘一样使用.核心是利用Nginx lua 对OSS请求进行签名并利用内部跳转将全部訪问本地Nginx的请求加上OSS 签名转发给OSS,实现本地Nginx无缝衔接阿里云OSS,存储空间无限扩展,存储成本无限下降,数据安全%99.99-- . 2.本篇文章使用到的一些工具技术及怎样学习和获取 1.lua 本文用到的都是一些主要的lua,基本上花半小时阅读下lua的语法就能够轻松理解本文内容 2.N

iOS使用阿里云OSS对象存储 (SDK 2.1.1)

最近项目中用到了阿里云OSS对象存储,用来存储APP中图片.音频等一些数据.但坑爹的阿里云居然在11月20日将SDK版本更新到了2.1.1,然而网上给出的教程都是1.*版本的(针对iOS),两个版本所调用的方法差别较大(自我感觉),当然原理都一样.所以看了两天SDK,自己封装了几个常用的方法. 一.OSS简单介绍 OSS是提供非结构化数据存取的服务,非结构化数据一般包括图片.文档.音频.视频等一些文件.OSS提供了接口,开发者可以通过这些接口对数据进行上传或下载等操作. 开通OSS服务后,创建一

阿里云 OSS

原文:https://help.aliyun.com/ 阿里云 OSS 阿里云 OSS(Object Storage Service)为您提供基于网络的数据存取服务.使用 OSS,您可以通过网络随时存储和调用包括文本.图片.音频和视频等在内的各种结构化或非结构化数据文件. 在使用阿里云 OSS 之前,您需要了解 OSS 的几个基本概念.阿里云 OSS 将数据文件以对象(object)的形式上传到存储空间(bucket)中. 您可以创建一个或者多个存储空间,然后向每个存储空间中添加一个或多个文件.

angulaijs中的ng-upload-file与阿里云oss服务的结合,实现在浏览器端上传文件到阿里云(速度可以达到1.5M)

angularjs结合aliyun浏览器端oos文件上传加临时身份验证例子 在服务端获取sts 源码: public class StsServiceSample { // 目前只有"cn-hangzhou"这个region可用, 不要使用填写其他region的值 //<setting name="accessKeyId" value="H6JSh0Y****z2cGa" /> //<setting name="ecr