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

做wap网站能火吗wordpress字体样式表

做wap网站能火吗,wordpress字体样式表,做门户网站的好处,seo外链建设的方法OSS 「OSS」的英文全称是Object Storage Service#xff0c;翻译成中文就是「对象存储服务」#xff0c;官方一点解释就是对象存储是一种使用HTTP API存储和检索非结构化数据和元数据对象的工具。 白话文解释就是将系统所要用的文件上传到云硬盘上#xff0c;该云硬盘提供了…OSS 「OSS」的英文全称是Object Storage Service翻译成中文就是「对象存储服务」官方一点解释就是对象存储是一种使用HTTP API存储和检索非结构化数据和元数据对象的工具。 白话文解释就是将系统所要用的文件上传到云硬盘上该云硬盘提供了文件下载、上传等一列服务这样的服务以及技术可以统称为OSS业内提供OSS服务的厂商很多知名常用且成规模的七牛云等。一般我们做网站还是服务都希望将文件放在一个指定的服务器,并且更好的管理,并且动静分离更好的提升软件性能我之间写过如何springboot整合七牛云,感兴趣的可以了解一下,但是由于七牛云需要自己购买他的服务器,对于学生做项目不友好,所以今天介绍的是开源可以自己搭建的oss服务 Minio 介绍: MinIO 是在 GNU Affero 通用公共许可证 v3.0 下发布的高性能对象存储。 它是与 Amazon S3 云存储服务兼容的 API。 使用 MinIO 为机器学习、分析和应用程序数据工作负载构建高性能基础架构。Minio官网 搭建DOCKER docker的好处不用多说了,最主要的是服务的安装与卸载很方便,这里也提供docker的学习笔记,那么现在开始搭建 拉取镜像 使用之间可以先查看下各个版本 docker search minio一般选择star最多的版本 docker pull minion在虚拟机或者云服务创建一个文件夹,并且包含一个数据,一个配置文件目录做挂载 运行 docker run -p 9001:9000 -p 9090:9090 --nethost --name minio -d --restartalways -e MINIO_ACCESS_KEYminioadmin -e MINIO_SECRET_KEYminioadmin -v /home/hadoop/minio/data:/data -v /home/hadoop/minio/config:/root/.minio minio/minio server /data --console-address :9091 -address :9001访问虚拟机ip:服务端口 账号密码是配置文件中指定的 MINIO_ACCESS_KEYminioadminMINIO_SECRET_KEYminioadmin 对象储存服务中,数据是按照bucket 桶来的,所以先新建一个桶 java测试上传文件 TestDisplayName(测试minio上传下载)public void testMn() throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {client MinioClient.builder().credentials(minioadmin, minioadmin).endpoint(http://192.168.249.132:9001).build();FileInputStream inputStream;PutObjectArgs putObjectArgs; // 读取文件转换为输入流inputStream new FileInputStream(D:\\list.html);// 上传一个对象 需要使用聚合对象包装在里面()putObjectArgs PutObjectArgs.builder().object(list.html)//文件名.contentType(text/html)//文件类型.bucket(leadnews)//区域名.stream(inputStream, inputStream.available(), -1).build();//转换为流进行传输client.putObject(putObjectArgs);}这样就可以实现上传了,现在进行封装, 便于使用 建立配置属性类便于动态注入数据 Data ConfigurationProperties(prefix minio) // 文件上传 配置前缀file.oss public class MinIOConfigProperties implements Serializable {private String accessKey;private String secretKey;private String bucket;private String endpoint;private String readPath; }配置文件 minio:accessKey: minioadminsecretKey: minioadminbucket: leadnewsendpoint: http://192.168.249.132:9001readPath: http://192.168.249.132:9001注入配置类实列化 Data Configuration EnableConfigurationProperties({MinIOConfigProperties.class}) //当引入FileStorageService接口时 ConditionalOnClass(FileStorageService.class) public class MinIOConfig {Autowiredprivate MinIOConfigProperties minIOConfigProperties;Beanpublic MinioClient buildMinioClient() {return MinioClient.builder().credentials(minIOConfigProperties.getAccessKey(), minIOConfigProperties.getSecretKey()).endpoint(minIOConfigProperties.getEndpoint()).build();} }文件处理接口 public interface FileStorageService {/*** 上传图片文件* param prefix 文件前缀* param filename 文件名* param inputStream 文件流* return 文件全路径*/public String uploadImgFile(String prefix, String filename,InputStream inputStream);/*** 上传html文件* param prefix 文件前缀* param filename 文件名* param inputStream 文件流* return 文件全路径*/public String uploadHtmlFile(String prefix, String filename,InputStream inputStream);/*** 删除文件* param pathUrl 文件全路径*/public void delete(String pathUrl);/*** 下载文件* param pathUrl 文件全路径* return**/public byte[] downLoadFile(String pathUrl);} imp Slf4j EnableConfigurationProperties(MinIOConfigProperties.class) Import(MinIOConfig.class) public class MinIOFileStorageService implements FileStorageService {Autowiredprivate MinioClient minioClient;Autowiredprivate MinIOConfigProperties minIOConfigProperties;private final static String separator /;/*** param dirPath* param filename yyyy/mm/dd/file.jpg* return*/public String builderFilePath(String dirPath,String filename) {StringBuilder stringBuilder new StringBuilder(50);if(!StringUtils.isEmpty(dirPath)){stringBuilder.append(dirPath).append(separator);}SimpleDateFormat sdf new SimpleDateFormat(yyyy/MM/dd);String todayStr sdf.format(new Date());stringBuilder.append(todayStr).append(separator);stringBuilder.append(filename);return stringBuilder.toString();}/*** 上传图片文件* param prefix 文件前缀* param filename 文件名* param inputStream 文件流* return 文件全路径*/Overridepublic String uploadImgFile(String prefix, String filename,InputStream inputStream) {String filePath builderFilePath(prefix, filename);try {PutObjectArgs putObjectArgs PutObjectArgs.builder().object(filePath).contentType(image/jpg).bucket(minIOConfigProperties.getBucket()).stream(inputStream,inputStream.available(),-1).build();minioClient.putObject(putObjectArgs);StringBuilder urlPath new StringBuilder(minIOConfigProperties.getReadPath());urlPath.append(separatorminIOConfigProperties.getBucket());urlPath.append(separator);urlPath.append(filePath);return urlPath.toString();}catch (Exception ex){log.error(minio put file error.,ex);throw new RuntimeException(上传文件失败);}}/*** 上传html文件* param prefix 文件前缀* param filename 文件名* param inputStream 文件流* return 文件全路径*/Overridepublic String uploadHtmlFile(String prefix, String filename,InputStream inputStream) {String filePath builderFilePath(prefix, filename);try {PutObjectArgs putObjectArgs PutObjectArgs.builder().object(filePath).contentType(text/html).bucket(minIOConfigProperties.getBucket()).stream(inputStream,inputStream.available(),-1).build();minioClient.putObject(putObjectArgs);StringBuilder urlPath new StringBuilder(minIOConfigProperties.getReadPath());urlPath.append(separatorminIOConfigProperties.getBucket());urlPath.append(separator);urlPath.append(filePath);return urlPath.toString();}catch (Exception ex){log.error(minio put file error.,ex);ex.printStackTrace();throw new RuntimeException(上传文件失败);}}/*** 删除文件* param pathUrl 文件全路径*/Overridepublic void delete(String pathUrl) {String key pathUrl.replace(minIOConfigProperties.getEndpoint()/,);int index key.indexOf(separator);String bucket key.substring(0,index);String filePath key.substring(index1);// 删除ObjectsRemoveObjectArgs removeObjectArgs RemoveObjectArgs.builder().bucket(bucket).object(filePath).build();try {minioClient.removeObject(removeObjectArgs);} catch (Exception e) {log.error(minio remove file error. pathUrl:{},pathUrl);e.printStackTrace();}}/*** 下载文件* param pathUrl 文件全路径* return 文件流**/Overridepublic byte[] downLoadFile(String pathUrl) {String key pathUrl.replace(minIOConfigProperties.getEndpoint()/,);int index key.indexOf(separator);String bucket key.substring(0,index);String filePath key.substring(index1);InputStream inputStream null;try {inputStream minioClient.getObject(GetObjectArgs.builder().bucket(minIOConfigProperties.getBucket()).object(filePath).build());} catch (Exception e) {log.error(minio down file error. pathUrl:{},pathUrl);e.printStackTrace();}ByteArrayOutputStream byteArrayOutputStream new ByteArrayOutputStream();byte[] buff new byte[100];int rc 0;while (true) {try {if (!((rc inputStream.read(buff, 0, 100)) 0)) break;} catch (IOException e) {e.printStackTrace();}byteArrayOutputStream.write(buff, 0, rc);}return byteArrayOutputStream.toByteArray();} } 封装为模块 如果是springcloud分布式业务,文件处理可以封装为模块给其他模块使用 新建模块 modulesmoduleheima-leadnews-basic/module modulesmoduleheima-file-starter/module/modules/modules在项目新建模块,依赖如上配置yaml文件不写,因为是做成模块给其他模块使用的 在该模块的resource目录新建meta-inf元数据配置文件 内容 org.springframework.boot.autoconfigure.EnableAutoConfiguration\com.heima.file.service.impl.MinIOFileStorageService这个配置的作用是为了将一个模块或库的功能引入到应用程序中以便在应用程序的其他部分中可以使用这个模块提供的功能。这个模块可能包含一些服务、组件或类你可以使用Autowired等注解来注入它们以便在应用程序中使用。 通常情况下如果你没有一个显式的启动类Spring Boot应用的入口类或者你不想将这个模块的功能包含在应用程序的启动类中你可以使用这种方式通过spring.factories配置来自动启用这个模块。 这个模块的配置会在应用程序启动时被Spring Boot自动加载和初始化从而使你可以在应用程序中使用它提供的功能而不需要手动实例化或配置相关的Bean。这种方式可以使应用程序的模块化更好遵循了依赖注入和解耦的原则。 在需要使用的模块导入该模块即可
http://www.pierceye.com/news/863999/

相关文章:

  • 如何进行营销型企业网站的优化如何在百度上推广自己
  • 360怎么变成建设银行首选网站网站建设财务分析
  • 建设网站的法律可行性分析快手自媒体平台
  • 网站建设的内容规划网站空间 阿里云
  • 网站建设横幅wordpress论坛怎么用
  • 做金融网站违法吗喜迎二十大演讲稿
  • 010-58813333 可信网站做网站的流程是怎么样的
  • 凉山州住房和城乡建设局门户网站南昌seo招聘
  • 恒华大厦做网站公司学校网站制作素材
  • 网站上的动图都怎么做的伊犁州新源县地图高清版
  • 音乐网站设计规划书wordpress爬取文章插件
  • 长沙哪家制作网站好医院网站建设方案需要多少钱
  • 建网站 xyz企业网站wordpress
  • 网站建站工作室做网站收录
  • 广州市天河区工程建设监督网站网站维护的注意事项
  • 人才网站建站织梦网站模块
  • 网站区分治疗早射最有效的方法是什么
  • 市体育局网站 两学一做ip详细地址查询工具
  • 网站找图片做海报侵权开发一个oa系统多少钱
  • 网站下载链接打不开外国网站建站
  • 与众不同的网站风控网站开发
  • 哈尔滨的网站设计门户网站建设招投标
  • 如何用wordpress制作网站运城公司做网站
  • 园林景观网站模板做企业商城网站
  • 医疗网站优化怎么做农村自建房设计图效果图
  • 网站建哪家好佛山seo网站排名
  • 做珠宝网站价格多少html5手机网站开发经验
  • dede网站后台合肥网站建设行情
  • 做动漫网站侵权吗途牛网网站建设评价
  • 域名到期对网站的影响做美缝在哪个网站接单