当前位置: 首页 > news >正文

建网站外包西安seo外包服务

建网站外包,西安seo外包服务,网站 banner 尺寸,现在哪些做进口商品的电商网站背景 前端 经常需要上传文件 图片 视频等等 到后端服务器, 如果到自己服务器 一般会有安全隐患。也不方便管理这些文件。如果要想使用一些骚操作 比如 按照前端请求生成不同分辨率的图片,那就有点不太方便了。 这里介绍以下 minio,&#xff0…

 背景

前端 经常需要上传文件 图片 视频等等 到后端服务器, 果到自己服务器 一般会有安全隐患。也不方便管理这些文件。如果要想使用一些骚操作 比如 按照前端请求生成不同分辨率的图片,那就有点不太方便了。

这里介绍以下 minio,(MinIO | 企业级、高性能对象存储)有点类似 腾讯云 阿里云的 对象存储:头衔有很多 总结  技术性能强悍  可以使用的姿势比较多:

  

这里只要介绍下从 Flutter 上传图片的 和 视频 的操作:

minio 搭建

官网:MinIO | 高性能, Kubernetes 原生对象存储

下载解压 :

我这里编写了脚本 run.bat

# 设置用户名
set MINIO_ROOT_USER=admin
# 设置密码(8位)
set MINIO_ROOT_PASSWORD=12345678
minio.exe server --address :9000 --console-address :9001 D:\MinIO_FileDatum\Data
  1. 新建txt 文档
  2. 脚本粘贴进去 保存退出
  3. 修改文件名和后缀

 然后点击运行:

按照上面的 ip 和 端口 和密码 之后登录设置仓库

 

 

创建一个访问秘钥:

 

Flutter中使用Minio

因为我 flutter SDK 版本 3.10.2    比较高 所以使用的是: pubspec.yaml

# minio 文件系统
minio_new: ^1.0.2

这里我是 使用   来录制视频的:所以得到的是  AssetEntity

wechat_camera_picker: ^3.8.0
  • 图片上传不带进度
    //视频生成的缩略图
    String? thumbnailPath = await VideoThumbnail.thumbnailFile(video: file.path,
    );
    print("------thumbnailPath:  $thumbnailPath");final minio = Minio(endPoint: '172.61.10.9',port: 9000,accessKey: AppMinio().accessKey,secretKey: AppMinio().secretKey,useSSL: false,
    );int index = thumbnailPath!.lastIndexOf('/');
    //图片的文件名
    String pictureName = thumbnailPath!.substring(index + 1);//存图片
    String res =await minio.fPutObject('vidoes', pictureName, thumbnailPath!);
    print('minio  ------>res :${res}');

  • 视频上传带进度条

    Stream<List<int>> inputIntList = file.openRead();
    Stream<Uint8List> inputStream = inputIntList.asyncMap<Uint8List>((event) => Uint8List.fromList(event));
    String res1 = await minio.putObject('imvideo',videoName,inputStream,onProgress: (int progress) {print("进度 onProgress: ${progress / fileSize}");},
    );

完整函数代码:

void _videoThumbnail(AssetEntity entity) async {File? file = await entity.file;if (file != null) {// String thumbnailPath = file.path;// thumbnailPath =//     thumbnailPath.substring(0, thumbnailPath.length - 3) + "png";// File photoPath = File(thumbnailPath);//// var pathBool = await photoPath.exists();String? thumbnailPath = await VideoThumbnail.thumbnailFile(video: file.path,);print("------thumbnailPath:  $thumbnailPath");final minio = Minio(endPoint: '172.61.10.9',port: 9000,accessKey: AppMinio().accessKey,secretKey: AppMinio().secretKey,useSSL: false,);int index = thumbnailPath!.lastIndexOf('/');String pictureName = thumbnailPath!.substring(index + 1);//存图片String res =await minio.fPutObject('vidoes', pictureName, thumbnailPath!);print('minio  ------>res :${res}');//读文件// final stream = await minio.getObject('vidoes', res);// Directory dir = await getApplicationSupportDirectory();// String path = '${dir.path}/image/abc.png';// await stream.pipe(File(path).openWrite());int index2 = file.path.lastIndexOf('/');String videoName = file.path.substring(index2 + 1);print("pictureName:${pictureName}");print("videoName:${videoName}");int fileSize = await file.length();//存 视频Stream<List<int>> inputIntList = file.openRead();Stream<Uint8List> inputStream = inputIntList.asyncMap<Uint8List>((event) => Uint8List.fromList(event));String res1 = await minio.putObject('vidoes',videoName,inputStream,onProgress: (int progress) {print("进度 onProgress: ${progress / fileSize}");},);print('minio  ------>res :${res1}');}
}

http://www.khdw.cn/news/3382.html

相关文章:

  • 资阳优化团队预订南昌关键词优化软件
  • 网站推广方案设计企业营销推广怎么做
  • 如何设计一个高端网站简洁大方大气关键词采集软件
  • 进行公司网站建设方案公司注册流程
  • 网站备案名称重复seo课程在哪培训好
  • 鄄城住房和城乡建设局网站百度识图搜索引擎
  • 拿了网赌代理后怎样做自己的网站哈尔滨优化网站公司
  • 注册网站代码百度收录查询方法
  • 网站seo应用北京网讯百度科技有限公司
  • 秦皇岛网站建设公司营销案例100例简短
  • 大良营销网站建设平台东莞网站推广哪里找
  • 夹江网站建设搜索网
  • 做网站点击挣钱不?幽默广告软文案例
  • 网站后台设置关键字广州推广优化
  • 简述政府网站建设的重要性百度搜索推广开户
  • 青岛网站关键词seo代码优化
  • 焦作 做 网站武汉本地seo
  • 如何用c 做网站新媒体运营师证书
  • 河北建设工程信息交易中心网站优化seo推广服务
  • 网站建设难做吗太原做推广营销
  • cmsapp模板网站网页设计学生作业模板
  • 哪个网站有帮忙做公开课课件优化seo方法
  • 如何安全的做黄色网站做app推广去哪找商家
  • 官网网站建设研究网站申请流程
  • 网站建设方案案例江东怎样优化seo
  • 长兴住房和城乡建设局网站怎样看网页的友情链接
  • 推广哪个app最挣钱app优化
  • 无锡哪里做网站网站空间费用一年多少
  • 做纺织外贸网站网站优化外包价格
  • 八年级信技做网站百度广告联盟下载