oss文件上传

浪淘沙10个月前后端67
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>


相关文章

ubuntu 删除asp.net core 8.0

1. 查找已安装的 ASP.NET Core 8.0 版本dotnet --list-runtimes dotnet --list-sdks2. 删除 ASP.NET Core...

asp.net core razor加载模板文件路径

  var templateContent = "${include(\"" + App.HostE...

C#JNTemplate模板引擎,标签指定${set(pagetotal=20)},后端如何获取pagetotal的值

using JinianNet.JNTemplate; class Program {     static void&...

echarts获取点击事件

  myChart.on('click', (params) => {      // 检查是否点击了系列数据   ...

asp.net core 中文 url 编码

 return Redirect("tj_send?fst=" + fst + "&rq1=" + rq1 + "&rq2=...

常用查询

 var dt = _db.SqlQueryable<object>("select * from mszs...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。