SuLei.API/Cloud/AliyunOss.cs
(开头部分) 5KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Text;
namespace SuLei.API.Cloud
{
public class AliyunOss
{
string EndPoint = string.Empty;
string AccessKeyId = string.Empty;
string AccessKeySecret = string.Empty;
Aliyun.OSS.OssClient client;
public AliyunOss(string endpoint, string accessKeyId, string accessKeySecret)
{
EndPoint = endpoint;
AccessKeyId = accessKeyId;
AccessKeySecret = accessKeySecret;
client = new Aliyun.OSS.OssClient("https://" + EndPoint, AccessKeyId, AccessKeySecret);
}
/// <summary>
/// 上传文件
/// </summary>
/// <param name="byteData">文件流数组</param>
/// <param name="bucketName">存储空间名称</param>
/// <param name="key">文件名</param>
/// <param name="customDmain">自定义域名</param>
/// <param name="result">成功则返回文件地址否则返回错误信息</param>
/// <returns>是否上传成功</returns>
public bool PutObject(byte[] byteData, string bucketName, string key, string customDmain, out string result)
{
using (Stream fileStream = new MemoryStream(byteData))//转成Stream流
{
string md5 = Aliyun.OSS.Util.OssUtils.ComputeContentMd5(fileStream, byteData.Length);
try
{
//将文件md5值赋值给meat头信息,服务器验证文件MD5
var objectMeta = new Aliyun.OSS.ObjectMetadata
{
ContentMd5 = md5,
};
//文件上传--空间名、文件保存路径、文件流、meta头信息(文件md5)
client.PutObject(bucketName, key.TrimStart('/'), fileStream, objectMeta);
if (string.IsNullOrEmpty(customDmain))
{
result = "http://" + bucketName + "." + EndPoint + "/" + key.TrimStart('/'); //默认网址
}
else
{
result = customDmain.TrimEnd('/') + "/" + key.TrimStart('/'); //自定义网址
}
return true;
}
catch (Exception e)
{
result = e.Message;
return false;
后面还有 91 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。
