asp .net core MVC上传文件夹至OSS对象存储

目录

一、控制器代码:

二、前端.cshtml页面代码:


一、控制器代码:

using Aliyun.OSS; // 引入阿里云OSS SDK
public IActionResult Index()
{
    return View();
}
public IActionResult Action(IFormFileCollection files)
{
    try
    {
        //阿里云OSS初始化
        string endpoint = "http://oss-cn-xxxx.aliyuncs.com"; // 以华东1为例
        string accessKeyId = "你的AccessKeyId";
        string accessKeySecret = "你的AccessKeySecret";
        string bucketName = "你的Bucket名称";
        var client = new OssClient(endpoint, accessKeyId, accessKeySecret);

        // 遍历上传文件夹内的所有文件
        foreach (var file in files)
        {
            if (file.Length > 0)
            {
                var stream = file.OpenReadStream();
				//文件名称
                string fileName = file.FileName;

                string folderName = "文件夹名"; // 自定义文件夹名
                var objectName = folderName + "/" + fileName; // 文件夹内文件路径

                // 如果文件夹不存在,先创建文件夹
                if (!client.DoesObjectExist(bucketName, folderName + "/"))
                {
                    client.PutObject(bucketName, folderName + "/", new MemoryStream(new byte[0])); // 创建空文件夹
                }

                // 上传文件至OSS
                client.PutObject(bucketName, objectName, stream);
            }
        }
        return Ok("上传成功!");
    }
    catch (Exception e)
    {
        return BadRequest(e.Message);
    }
}

二、前端.cshtml页面代码:

@{
    ViewData["Title"] = "Home Page";
}
<form id="uploadForm" method="post" enctype="multipart/form-data">
    <input type="file" name="files" multiple webkitdirectory directory>
    <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: '/你的控制器/Action',
                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>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用OSS对象存储的云盘网站是一种基于云技术的网站,它通过阿里云的云存储服务OSS存储用户的文件和数据。 首先,OSS对象存储是一种分布式的数据存储服务,具备高可靠、高可用、高扩展性的特点。云盘网站利用OSS提供的存储空间来存储用户上的文件,可以实现大规模的文件存储和管理,用户可以通过网站上、下载、删除、分享、修改文件。 其次,使用OSS对象存储可以实现数据的备份和恢复。云盘网站可以将用户上的文件复制多份存储在不同的地理位置,以防止单点故障和数据丢失。同时,OSS提供的版本控制功能可以记录不同版本的文件,用户可以随时恢复到之前的版本。 此外,云盘网站还可以通过使用OSS的图片处理功能为用户提供便利的图片处理服务。利用OSS提供的图片处理接口,可以对用户上的图片进行缩放、剪裁、旋转、水印等操作,使得用户可以方便地对图片进行编辑和管理。 最后,使用OSS对象存储的云盘网站具有良好的性能和可扩展性。OSS采用CDN加速,通过阿里云的全球节点,将用户请求路由到离用户最近的节点,提高文件的访问速度。同时,OSS可以根据网站的访问量自动扩展存储空间和吞吐量,以满足云盘网站的高并发需求。 综上所述,使用OSS对象存储的云盘网站具有高可靠性、高可用性、高扩展性、版本控制、图片处理等功能,能够为用户提供稳定、安全、高效的文件存储和管理服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值