oss文件上传

浪淘沙1年前后端120
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>


相关文章

asp.net core razor OnGet 异步写法

public async Task<IActionResult> OnGetAsync() {     var&n...

asp.net razor post

asp.net razor post

@page @model xxtsoft.Web.Entry.Pages.qd.IndexModel @{     Layout =&...

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

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

asp.net core webapi 调用furion 的webapi json接口

/// <summary> /// 根据学校读取支付科次 /// </summary> /// <returns>&l...

asp.net core ZipDeploy iis发布 忽略某一件文件夹被删除

  services.AddZipDeploy(o => o.IgnorePathStarting("wwwroot/")); //iis发布...

常用查询

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

发表评论    

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