oss文件上传
using Aliyun.OSS;
#region Oss文件上传
/// <summary>
/// Oss文件上传
/// </summary>
/// <param name="files">Form文件</param>
/// <returns></returns>
[Route("OssUpload")]
[HttpPost]
public async Task<Object> OssUpload(IFormFileCollection files)
{
//阿里云OSS初始化
string endpoint = "http://oss-cn-shanghai.aliyuncs.com";
string accessKeyId = "LTAxxxxDKwYxy";
string accessKeySecret = "bbbbb";
string bucketName = "xxtsfzh";
var client = new OssClient(endpoint, accessKeyId, accessKeySecret);
string s="";
// 遍历上传文件夹内的所有文件
foreach (var file in files)
{
if (file.Length > 0)
{
var stream = file.OpenReadStream();
//文件名称
string fileName = file.FileName;
string folderName = "test"; // 自定义文件夹名
var objectName = folderName + "/" + fileName; // 文件夹内文件路径
s += objectName + "|";
// 如果文件夹不存在,先创建文件夹
if (!client.DoesObjectExist(bucketName, folderName + "/"))
{
client.PutObject(bucketName, folderName + "/", new MemoryStream(new byte[0])); // 创建空文件夹
}
// 上传文件至OSS
client.PutObject(bucketName, objectName, stream);
}
}
return s;
}
#endregion页面调用
<form id="uploadForm" method="post" enctype="multipart/form-data">
<input type="file" name="files" multiple>
<button type="submit">上传</button>
</form><script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
$(document).ready(function () {
$('#uploadForm').submit(function (e) {
e.preventDefault();
var formData = new FormData(this);
$.ajax({
url: '/api/oss/OssUpload',
type: 'post',
data: formData,
contentType: false,
processData: false,
success: function (result) {
console.log(result);
alert('上传成功!');
},
error: function (error) {
console.log(error);
alert('上传失败:' + error.responseText);
}
});
});
});
</script>