oss文件上传

浪淘沙1年前后端143
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 图片左下角 加水印

using SixLabors.Fonts; using SixLabors.ImageSharp; using SixLabors.ImageSharp.Drawi...

ckeditor编辑器

@page @model xxtsoft.Web.Entry.Pages.Index2Model @{ } <script src="~/ckeditor/...

asp.net core Aspose Words for .Net v24.10.0 引用

asp.net core Aspose Words for .Net v24.10.0 引用

一、文件附件Aspose.Words.rar二、Aspose.Words.dll 引用放置在:bin\Release\net9.0\三、Aspose.Total.NET.lic 放置在根目录 ...

asp.net core SqlSugar 多库切换

  private readonly SqlSugar.ISqlSugarClient _db;     ...

设置edge浏览器自动填充 input password值

<form autocomplete="off">    <input type="password" name=&quo...

JNTemplate 文章标签解析

using JinianNet.JNTemplate; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetC...

发表评论    

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