开源.NetCore通用工具库Xmtool使用连载 - OSS文件上传篇

这篇具有很好参考价值的文章主要介绍了开源.NetCore通用工具库Xmtool使用连载 - OSS文件上传篇。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【Github源码】


《上一篇》 介绍了Xmtool工具库中的图像处理类库,今天我们继续为大家介绍其中的OSS文件上传类库。

将本地文件上传到服务器是软件系统经常会遇到的需求,例如:设置用户头像,上传Excel报表等等;涉及到网络访问性能、存储空间等因素的考虑,通常我们会选择使用第三方的对象存储服务,本类库将比较常用的第三方对象存储服务进行了封装整合,让用户能够使用一套API将文件上传到不同的对象存储服务上,方便了用户使用。

目前,类库支持了七牛、阿里云、腾讯3种对象存储服务。

public enum OssProvider
{
    Unset,
    Qiniu,		// 七牛
    Alibaba,	// 阿里云
    Tencent		// 腾讯云
}

在使用过程中,根据需要使用的OSS存储服务获取OSS对象,即可调用方法进行文件上传,下面将逐步说明。

一、获取OSS对象

首先,根据我们准备使用的OSS存储服务类型,获取对应的OSS操作对象。

IOssProvider oss = Xmtool.Oss(OssProvider.Qiniu);
// TODO

二、初始化配置

OSS操作对象,必须进行初始化配置才能进行文件上传操作,不同的存储服务类型配置参数略有不同,下面将一一说明。

1. 七牛存储服务初始化配置

IOssProvider oss = Xmtool.Oss(OssProvider.Qiniu);
oss.Config("替换成自己的AppKey", "替换成自己的AppSecret", "替换成自己的域名地址");
// TODO

2.阿里云存储服务初始化配置

IOssProvider oss = Xmtool.Oss(OssProvider.Alibaba);
oss.Config("替换成自己的AppKey", "替换成自己的AppSecret", "替换成自己的域名地址", "替换成存储桶对应的EndPoint地址");
// TODO

3.腾讯云存储服务初始化配置

IOssProvider oss = Xmtool.Oss(OssProvider.Tencent);
oss.Config("替换成自己的AppId", "替换成自己的SecretId", "替换成自己的SecretKey", "替换成自己的域名地址", "替换成存储桶对应的Region简称");
// TODO

三、上传本地文件

经过上一步的初始化配制后,就可以进行文件上传操作了;类库支持文件路径和文件流两种上传方式。

通过文件路径上传,方法如下:

IOssProvider oss = Xmtool.Oss(OssProvider.Qiniu);
oss.Config("替换成自己的AppKey", "替换成自己的AppSecret", "替换成自己的域名地址");
string url = oss.UploadFile("替换成自己的存储桶名称", "要上传的本地文件路径", "上传到服务器的文件key,如果不传将随机生成");
// 返回的url即是上传成功后的文件访问地址,是否可公开访问根据存储桶的访问权限设定。
// TODO 

四、上传文件流

通过文件流上传,方法如下:

IOssProvider oss = Xmtool.Oss(OssProvider.Qiniu);
oss.Config("替换成自己的AppKey", "替换成自己的AppSecret", "替换成自己的域名地址");
using (FileStream stream = new FileStream("要上传的本地文件路径", FileMode.Open))
{
    string url = oss.UploadStream("替换成自己的存储桶名称", stream, "上传到服务器的文件key,如果不传将随机生成");
	// TODO
}

五、设置上传文件ContentType

在上传文件时,如果不指定ContentType,除七牛会自动判断上传文件类型外,阿里云和腾讯云都会将文件默认成二进制流文件,这在后面的访问过程中会影响文件的预览等操作。因此,我们可以在上传时明确指定文件的类型。文章来源地址https://www.toymoban.com/news/detail-825480.html

IOssProvider oss = Xmtool.Oss(OssProvider.Qiniu);
oss.Config("替换成自己的AppKey", "替换成自己的AppSecret", "替换成自己的域名地址");
string url = oss.SetContentType("image/png")
    .UploadFile("替换成自己的存储桶名称", "要上传的本地文件路径", "上传到服务器的文件key,如果不传将随机生成");
// TODO 

六、是否使用HTTPS

IOssProvider oss = Xmtool.Oss(OssProvider.Qiniu);
oss.Config("替换成自己的AppKey", "替换成自己的AppSecret", "替换成自己的域名地址");
oss.SetUseHttps(true);
// TODO

### [【Github源码】](https://github.com/softwaiter/Xmtool)

到了这里,关于开源.NetCore通用工具库Xmtool使用连载 - OSS文件上传篇的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 开源.NetCore通用工具库Xmtool使用连载 - HTTP请求篇

    《上一篇》 介绍了Xmtool工具库中的XML操作类库,今天我们继续为大家介绍其中的HTTP请求类库。 在现如今的软件需求场景中,HTTP网络请求几乎是开发过程中必然会使用的功能;而系统自带的HTTPClient对象使用起来并不是那么容易和友好,因此我们对其进行了二次封装成了一个

    2024年02月13日
    浏览(42)
  • 开源.NetCore通用工具库Xmtool使用连载 - 散列算法篇

    【Github源码】 《上一篇》详细介绍了Xmtool工具库中的加解密类库,今天我们继续为大家介绍其中的散列算法类库。 散列算法在某些特殊场景也可以当做加密方法使用;其特点是不可逆,同一内容每次散列值绝对一致,所以也可用作对数据内容是否被篡改的校验方法;或者其

    2024年02月03日
    浏览(32)
  • 开源.NetCore通用工具库Xmtool使用连载 - XML操作篇

    《上一篇》 介绍了Xmtool工具库中的发送短信类库,今天我们继续为大家介绍其中的XML操作类库。 XML操作是软件开发过程中经常会遇到的情况;包括XML内容的遍历解析,或者特定值内容的查询获取等等。Xmtool工具库提供了一种更方便的方式对Xml进行遍历解析或者对特定节点内

    2024年02月14日
    浏览(38)
  • 基于.NetCore开源的Windows的GIF录屏工具

    推荐一个Github上Start超过20K的超火、好用的屏幕截图转换为 GIF 动图开源项目。 这是基于.Net Core + WPF 开发的、开源项目,可将屏幕截图转为 GIF 动画。它的核心功能是能够简单、快速地截取整个屏幕或者选定区域,并将其转为 GIF动画,还支持自定义 GIF 动画效果、字幕、背景

    2024年02月06日
    浏览(48)
  • 文件管理工具.netcore资源文件管理

    文件管理工具 怎么快速有效的管理我的文件包括文件夹,需求功能是 模糊搜索显示匹配的文件夹或文件数据 快速打开文件夹位置 在windows直接查看搜索速度太慢,范围宽泛,整理所需资源文件名和文件本机路径保存在数据库,可以在数据库中快速检索 显示文件夹路径然后点

    2024年01月23日
    浏览(50)
  • uniapp - [小程序 / H5网页] “纯前端“ 将文件上传到阿里云 OSS,全端通用的阿里云 OSS 直传音视频、图片、word、excel、ppt、office 文档(全程无需后端稳定可靠)

    网上的教程乱七八糟各种坑,而且 uniapp 各个端都是不同的教程,对于新手来说真的无从下手。 本文站在新手小白的角度, 实现 uniapp 小程序 / H5 网页等平台的开发中,“前端直传” 上传文件到阿里云oss对象存储的详细教程,通用的 “OSS 上传器”,几乎全平台都可以使用!

    2024年02月12日
    浏览(47)
  • SeaTunnel 海量数据同步工具的使用(连载中……)

    SeaTunnel 是一个非常易用,高性能、支持实时流式和离线批处理的海量数据处理产品,前身是 WaterDrop (中文名:水滴),自 2021年10月12日更名为 SeaTunnel 。2021年12月9日,SeaTunnel 正式通过Apache 软件基金会的投票决议,以全票通过的优秀表现正式成为 Apache 孵化器项目。 2022年

    2024年01月16日
    浏览(37)
  • PDF Guru 通用型PDF文件处理工具

    ## 项目简介 PDF Guru是一个通用型PDF文件处理工具,包含PDF合并、拆分、旋转、水印、加密、转换等20多项常用功能,完全开源,个人免费使用,界面简洁,简单易用。 虽然目前网上关于PDF处理的工具有很多,但是都有一些缺点: 1. 专业的PDF编辑软件对于高级一点的功能(添加

    2024年04月16日
    浏览(83)
  • Java 使用OSS 文件上传+下载 简单入门

    官方SDK文档:Java对象/文件_对象存储-阿里云帮助中心           阿里云对象存储OSS(Object Storage Service)为您提供基于网络的数据存取服务。使用OSS,可以通过网络随时存储和调用包括文本、图片、音视频在内的各类数据文件;可以通过OSS控制台创建Bucket,并将文件上传

    2024年02月10日
    浏览(45)
  • 使用serverless实现从oss下载文件并压缩

            公司之前开发一个网盘系统, 可以上传文件, 打包压缩下载文件, 但是在处理大文件的时候, 服务器遇到了性能问题, 主要是这个项目是单机部署.......(离谱),  然后带宽只有100M, 现在用户比之前多很多, 然后所有人的压缩下载请求都给到这一台服务器了, 比如多个人下

    2024年02月15日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包