AliyunOssUpload.cs
4.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
using Aliyun.OSS;
using System;
using System.IO;
namespace UEditorNetCore
{
/// <summary>
/// 阿里云 OSS 文件上传
/// </summary>
public class AliyunOssUpload
{
/// <summary>
/// 文件上传
/// </summary>
/// <param name="endpoint"></param>
/// <param name="accessKeyId"></param>
/// <param name="accessKeySecret"></param>
/// <param name="bucketName"></param>
/// <param name="key"></param>
/// <param name="fileExt"></param>
/// <param name="filePathToUpload"></param>
/// <returns>文件名称</returns>
public static bool UploadFile(string endpoint, string accessKeyId, string accessKeySecret, string bucketName, string key, string fileExt, string filePathToUpload)
{
var result = true;
try
{
fileExt = fileExt.TrimStart('.').ToLower();
var contentType = GetContentType(fileExt);
var metadata = new ObjectMetadata();
if (!string.IsNullOrEmpty(contentType))
{
metadata.ContentType = contentType;
}
//
var client = new OssClient(endpoint, accessKeyId, accessKeySecret);
client.PutObject(bucketName, key, filePathToUpload, metadata);
//
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
result = false;
}
return result;
}
/// <summary>
/// 文件上传
/// </summary>
/// <param name="endpoint"></param>
/// <param name="accessKeyId"></param>
/// <param name="accessKeySecret"></param>
/// <param name="bucketName"></param>
/// <param name="key"></param>
/// <param name="fileExt">文件扩展名称</param>
/// <param name="fileStream"></param>
/// <returns>文件名称</returns>
public static bool UploadFile(string endpoint, string accessKeyId, string accessKeySecret, string bucketName,string key, string fileExt, Stream fileStream)
{
var result = true;
try
{
fileExt = fileExt.TrimStart('.').ToLower();
var contentType = GetContentType(fileExt);
var metadata = new ObjectMetadata();
if (!string.IsNullOrEmpty(contentType))
{
metadata.ContentType = contentType;
}
//
var client = new OssClient(endpoint, accessKeyId, accessKeySecret);
//var
client.PutObject(bucketName, key, fileStream, metadata);
//
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
result = false;
}
return result;
}
/// <summary>
/// 获取内容
/// </summary>
/// <param name="fileExt"></param>
/// <returns></returns>
private static string GetContentType(string fileExt)
{
var contentType = "";
switch (fileExt)
{
case "jpeg":
case "jpe":
case "jpg":
contentType = "image/jpeg";
break;
case "bmp":
contentType = "image/bmp";
break;
case "png":
contentType = "image/png";
break;
case "gif":
contentType = "image/gif";
break;
case "ico":
contentType = "image/x-icon";
break;
case "net":
contentType = "image/pnetvue";
break;
case "tif":
case "tiff":
contentType = "image/tiff";
break;
}
return contentType;
}
}
}