网站内容管理系统上传图片(七牛云存储(以下简称七牛)数据的在线托管七牛)

优采云 发布时间: 2022-03-25 07:01

  网站内容管理系统上传图片(七牛云存储(以下简称七牛)数据的在线托管七牛)

  七牛云存储(以下简称七牛)是专为移动时*敏*感*词*发者打造的数据管理平台。为互联网网站和移动应用程序提供在线数据托管、传输加速和图片、音视频等富媒体。云处理服务。

  1.数据在线托管

  七牛采用全分布式系统架构和存储技术,主要存储图片、音视频等静态文件,实现数据多机房互备份和跨IDC恢复,保障数据存储安全。

  2.数据传输加速

  七牛支持上传/下载双向加速,上传单个文件没有大小限制,支持断点续传。七牛在全国部署了500多个加速节点,用户可以选择附近任意一个IDC上传下载

  3.云端数据处理

  七牛提供丰富的图片处理服务,如缩略图、图文混合、水印、自定义裁剪区域、防盗链、原图保护等。七牛还支持常见的ffmpeg音视频格式转换、视频帧采集和流式传输媒体传输协议 (HLS)。

  4.提供10G存储空间,也是一个月10G流量

  1.官方提供了比较全面的SDK,但是对于C# SDK,有些地方还不够完善,比如持久化格式转换存储

  2.有时返回进度值百分比超过100%的BUG,需要自己修改SDK

  3. 不提供程序化创建空间,当提供给多个用户时,只能通过修改文件前缀来处理

  4.上传核心代码

  

  

   string[] files = Dialog.FileNames;//所有文件

BindingList UpLoadFileCurr = GrUpLoadList.DataSource as BindingList ?? new BindingList();//当前列表里的数据

var FileCurr = files.Where(f => ActSize(f) != 0 && (UpLoadFileCurr.Count == 0 || !UpLoadFileCurr.Any(UF => UF.FileName == f))).Select(key => new UpLoadInfo() { FileName = key, UpLoadState = "待上传", FileSize = ActSize(key), UpLoadType = UpLoadType.NotUpload }).ToList();//过滤相同的文件名

  查看代码

  5 读取数据列表代码

  

  

   RSFClient target = new RSFClient(UserInfo.Bucket); // TODO: 初始化为适当的值

target.Marker = UserInfo.Prefix;

target.Prefix = UserInfo.Prefix;

target.Limit = -1;

DumpRet actual = target.ListPrefix(UserInfo.Bucket, UserInfo.Prefix);

List fileList = new List();

Func fun = (lTime) =>

{

DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));

TimeSpan toNow = new TimeSpan(lTime);

return dtStart.Add(toNow);

};

int Index = 0;

Func getindex = () =>

{

return ++Index;

};

//大小字节转为KB

Func ActSize = (filesize) =>

{

decimal reSize = (decimal)filesize / 1024;

int m = reSize > 1 ? 0 : 2;

return Math.Round(reSize, m);

};

Func FunFileName = (filename) =>

{

int Pos = UserInfo.CurrShowId.ToString().Length + 1;

return filename.Substring(Pos, filename.Length - Pos);

};

if (actual.Items == null) actual.Items = new List();

var Binding = new BindingList(actual.Items.Select(f => new FileInfo() { FileName = FunFileName(f.Key), CreateTime = fun(f.PutTime), FileSize = ActSize(f.FSize), Id = getindex() }).ToList());

Action actBind = () =>

{

grList.DataSource = Binding;

GrLoading.Stop();

GrLoading.Hide();

};

base.Invoke(actBind);

  查看代码

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线