阿里云存储封装类 AliYunOssUtility
来源:互联网 发布:网络上sn是什么意思啊 编辑:程序博客网 时间:2024/05/01 21:17
using Aliyun.OpenServices;using Aliyun.OpenServices.OpenStorageService;using System;using System.Collections.Generic;using System.Configuration;using System.Drawing;using System.IO;using System.Linq;using System.Text;namespace Utility{ public class AliYunOssUtility { #region FileTypeEnum public enum FileTypeEnum { none, jpg, gif, png, mp4, doc, docx, ppt, pptx, rar, zip } #endregion #region private private String BucketName; private ClientConfiguration clienConfig; private Uri uri = new Uri("http://oss.aliyuncs.com"); private readonly string aliyunKey = ConfigurationManager.AppSettings["AppAliYunKey"] != null ? ConfigurationManager.AppSettings["AppAliYunKey"].ToString() : "*********"; private readonly string aliyunSecrect = ConfigurationManager.AppSettings["AppAliYunSecrect"] != null ? ConfigurationManager.AppSettings["AppAliYunSecrect"].ToString() : "*******"; private Aliyun.OpenServices.OpenStorageService.OssClient ossClient; private Aliyun.OpenServices.OpenStorageService.ObjectMetadata meta; #endregion public AliYunOssUtility(string bucketName = "upload") { BucketName = bucketName; Init(); } public void Init() { clienConfig = new ClientConfiguration(); clienConfig.ConnectionTimeout = 300000; uri = new Uri("http://oss.aliyuncs.com"); ossClient = new Aliyun.OpenServices.OpenStorageService.OssClient(uri, aliyunKey, aliyunSecrect, clienConfig); meta = new Aliyun.OpenServices.OpenStorageService.ObjectMetadata(); } #region PutObject public void PutObject(string key, Stream stream, FileTypeEnum fileType) { switch (fileType) { case FileTypeEnum.jpg: meta.ContentType = "image/jpeg"; break; case FileTypeEnum.gif: meta.ContentType = "image/gif"; break; case FileTypeEnum.png: meta.ContentType = "image/png"; break; case FileTypeEnum.mp4: meta.ContentType = "video/mp4"; break; case FileTypeEnum.doc: meta.ContentType = "application/msword"; break; case FileTypeEnum.ppt: meta.ContentType = "applications-powerpoint"; break; case FileTypeEnum.rar: meta.ContentType = "application/x-rar-compressed"; break; case FileTypeEnum.zip: meta.ContentType = "application/x-zip-compressed"; break; } PutObjectResult result = ossClient.PutObject(BucketName, key, stream, meta); } #endregion #region PutObject fileName public void PutObject(string key, string fileName, FileTypeEnum fileType = FileTypeEnum.none) { FileStream fileStream = new FileStream(fileName, FileMode.Open); fileStream.Seek(0, SeekOrigin.Begin); string FileExtension = fileName.Substring(fileName.LastIndexOf('.')).ToLower(); if (fileType == FileTypeEnum.none) { switch (FileExtension) { case ".jpg": fileType = FileTypeEnum.jpg; break; case ".gif": fileType = FileTypeEnum.gif; break; case ".png": fileType = FileTypeEnum.png; break; case ".mp4": fileType = FileTypeEnum.mp4; break; case ".doc": case ".docx": fileType = FileTypeEnum.doc; break; case ".ppt": case ".pptx": fileType = FileTypeEnum.ppt; break; case ".rar": fileType = FileTypeEnum.rar; break; case ".zip": fileType = FileTypeEnum.zip; break; } } PutObject(key, fileStream, fileType); fileStream.Close(); } #endregion #region GetBitmap public Bitmap GetBitmap(string key) { OssObject ossObject = null; Bitmap bmp = null; try { ossObject = ossClient.GetObject(BucketName, key); if (ossObject != null && ossObject.Content != null) { bmp = new Bitmap((Image)new Bitmap(ossObject.Content)); //string imgurl = ossClient.GeneratePresignedUri(bucketName, key, DateTime.Now.AddMinutes(10)).AbsoluteUri; } } catch { } return bmp; } #endregion public void Delete(string key) { ossClient.DeleteObject(BucketName, key); } }}
0 0
- 阿里云存储封装类 AliYunOssUtility
- 阿里云存储失败
- 阿里云oss云存储
- 阿里云OSS对象存储
- 阿里云OSS存储开发
- 深度解析阿里云存储
- 深度解析阿里云存储
- 图解阿里云存储产品
- 阿里短信调用封装
- 阿里云OSS开放云存储小结
- 阿里云OSS存储开发(一)
- 阿里云ECS/linux 挂在存储
- 阿里云归档存储技术难点汇总
- 阿里云OSS(对象存储服务)
- 文件上传-阿里云OSS-存储文件
- 阿里云文件存储 NAS 使用教程
- ThinkPHP之阿里云存储(OSS)
- 阿里云oss对象存储图片上传
- People CMM和抗日义勇军
- linux查看Tomcat连接数、统计某字段出现的次数
- Java 输入/输出流
- 104. Maximum Depth of Binary Tree
- Mac OS X EI Capitan下安装hadoop
- 阿里云存储封装类 AliYunOssUtility
- 面向对象编程:一个灾难性的故事
- hibernate之持久化类属性和访问方法分析
- 待产
- Spring3 整合Hibernate3.5 动态切换SessionFactory
- 考试培训市场的一些情况
- 笔记
- 无心插柳柳成荫,有心种花花不开
- php mongodb扩展安装