
为了解决海量数据存储与d性扩容,项目中我们采用云存储的解决方案- 阿里云OSS。
1、开通“对象存储OSS”服务
(1)申请阿里云账号
(2)实名认证
(3)开通“对象存储OSS”服务
(4)进入管理控制台
2、创建Bucket
选择:标准存储、公共读、不开通
3、上传默认头像
创建文件夹avatar,上传默认的用户头像
1、在service模块下创建子模块service-oss
2、配置pomxml
service-oss上级模块service已经引入service的公共依赖,所以service-oss模块只需引入阿里云oss相关依赖即可,
service父模块已经引入了service-base模块,所以Swagger相关默认已经引入
3、配置applicationproperties
4、logback-springxml
5、创建启动类
创建OssApplicationjava
6、启动项目
报错 :
spring boot 会默认加载orgspringframeworkbootautoconfigurejdbcDataSourceAutoConfiguration这个类,
而DataSourceAutoConfiguration类使用了@Configuration注解向spring注入了dataSource bean,又因为项目(oss模块)中并没有关于dataSource相关的配置信息,所以当spring创建dataSource bean时因缺少相关的信息就会报错。
即可成功:
1、从配置文件读取常量
创建常量读取工具类:ConstantPropertiesUtiljava
使用@Value读取applicationproperties里的配置内容
用spring的 InitializingBean 的 afterPropertiesSet 来初始化配置信息,这个方法将在所有的属性被初始化后调用。
2、文件上传
创建Service接口:uploadFileAvatarjava
实现:OssServiceImpljava
参考SDK中的:Java->上传文件->简单上传->流式上传->上传文件流
3、控制层
创建controller:FileUploadControllerjava
4、重启oss服务
5、Swagger中测试文件上传
解决上传文件覆盖问题:
测试:
6、配置nginx反向代理
配置nginx实现请求转发的功能:
验证:
1、复制头像上传组件
从vue-element-admin复制组件:
vue-element-admin/src/components/ImageCropper
vue-element-admin/src/components/PanThumb
2、前端参考实现
src/views/components-demo/avatarUploadvue
3、前端添加文件上传组件
src/views/edu/teacher/savevue
template:
引入组件模块:
4、设置默认头像(也可不设置)
onfig/devenvjs中添加阿里云oss bucket地址
组件中初始化头像默认地址
5、js脚本实现上传和回显
二、测试文件上传
前后端联调
1、数据导入:减轻录入工作量
2、数据导出:统计信息归档
3、数据传输:异构系统之间数据传输
1、EasyExcel特点
Java领域解析、生成Excel比较有名的框架有Apache poi、jxl等。但他们都存在一个严重的问题就是非常的耗内存。如果你的系统并发量不大的话可能还行,但是一旦并发上来后一定会OOM或者JVM频繁的full gc。
EasyExcel是阿里巴巴开源的一个excel处理框架, 以使用简单、节省内存著称 。EasyExcel能大大减少占用内存的主要原因是在解析Excel时没有将文件数据一次性全部加载到内存中,而是从磁盘上一行行读取数据,逐个解析。
EasyExcel采用一行一行的解析模式,并将一行的解析结果以观察者的模式通知处理(AnalysisEventListener)。
1、创建一个普通的maven项目
项目名:excel-easydemo
2、pom中引入xml相关依赖
3、创建实体类
设置表头和添加的数据字段
4 、实现写 *** 作
TestEasyExceljava
(1)创建方法循环设置要添加到Excel的数据
(2)实现最终的添加 *** 作(写法一)
(3)实现最终的添加 *** 作(写法二)
public static void main(String[] args) throws Exception {
// 写法2,方法二需要手动关闭流
//实现excel写的 *** 作
//1 设置写入文件夹地址和excel文件名称
String filename = "F:\\writexlsx";
ExcelWriter excelWriter=EasyExcelwrite(fileName,DemoDataclass)build();
WriteSheet writeSheet=EasyExcelwriterSheet("写入方法二")build();
excelWriterwrite(data(),writeSheet);
/// 千万别忘记finish 会帮忙关闭流
excelWriterfinish();
}
1、创建实体类
2、创建读取 *** 作的监听器
3、调用实现最终的读取
public class TestEasyExcel {
public static void main(String[] args) {
//实现excel读 *** 作
// 写法1:
String filename = "F:\\writexlsx";
// 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭
EasyExcelread(filename,DemoDataclass,new ExcelListener())sheet()doRead();
// 写法2:
InputStream in = new BufferedInputStream(new FileInputStream("F:\\01xlsx"));
ExcelReader excelReader = EasyExcelread(in, DemoDataclass, new ExcelListener())build();
ReadSheet readSheet = EasyExcelreadSheet(0)build();
excelReaderread(readSheet);
// 这里千万别忘记关闭,读的时候会创建临时文件,到时磁盘会崩的
excelReaderfinish();
}
1、编辑Excel模板
2、将文件上传至阿里云OSS
1、添加路由
2、添加vue组件
1、js定义数据
2、template
3、js上传方法
4、回调函数
1、service-edu模块配置依赖
1、EduSubjectController
2、创建和Excel对应的实体类
3、EduSubjectService
(1)接口
(2)实现类
4、创建读取Excel监听器
1、参考 views/tree/indexvue
2、创建api
api/edu/subjectjs
3、listvue
1、创建vo
2、创建controller
概览NI LabVIEW软件可以通过多种方式与可编程逻辑控制器(PLC)通信。用于过程控制的OLE(OPC)定义了在控制设备和人机界面(HMI)间实时对象数据通信的标准。OPC服务器适用于几乎所有PLC和可编程自动化控制器(PAC)。在本教程中,您将学习如何在LabVIEW中使用OPC与联网的PLC通信。
目录
本教程使用LabVIEW数据记录与监控(DSC)模块。该模块包含了诸多工具,包拪将数据记录到联网历史数据库、实时与历史趋势、警报与事件管理、将LabVIEW实时目标与OPC设备连在在一个完整的系统中、为用户界面提高安全性等等。由于拥有这些特性,LabVIEW成为了用于工业控制应用的强大HMI/SCADA工具。
要求
• Windows XP/2000
• LabVIEW FDS与LabVIEW DSC
• NI OPC服务器
使用NI OPC服务器查看现有的PLC标签
1 选择开始》程序》National Instruments》NI OPCServers》NI OPCServers,启动NI OPC服务器。使用NI OPC服务器,您可以创建、配置、查看与PLC关联的标签。
2 NI OPC服务器需要与已经载入的PLC仿真工程一起启动。这个工程仿真在NI OPC服务器中已经建立配置的PLC。
说明:如果没有载入仿真工程,在NI OPC服务器中选择文件》打开,浏览C:\Program Files\National Instruments\Shared\NI OPC Servers\Projects\simdemoopf。工程如图1所示。
图1:显示仿真PLC的NI OPC服务器
展开Channel_0_User_Defined,选择Sine,查看正弦标签。标签在最右边的窗口中显示。这些标签被绑定到PLC的寄存器上,由LabVIEW读取。
通过PLC OPC标签查看数据。
1 在NI OPC服务器中,选择Tools»Launch OPC Quick Client。这样可以启动OPC快速客户端,您可以用来查看OPC标签数据。
2 展开National InstrumentsNIOPCServers文件夹,选择Channel_0_User_DefinedSine。这样可以选定需要监视的设备。
3 请注意所有的正弦标签都列出在右边的窗口中,且如图2所示正在更新显示仿真正弦数据。
图2:NI OPC快速客户端显示仿真正弦OPC标签
说明:要获取NI OPC支持的设备/驱动程序列表,请访问nicom/opc。
通过创建I/O服务器将LabVIEW连接到OPC标签
在本小节中,将创建OPC标签的LabVIEW接口,称为I/O服务器。I/O服务器以您指定的速率,用当前标签数值更新LabVIEW。
1 在LabVIEW的使用入门窗口中,点击文件》新建项目。这将打开新建LabVIEW项目。
2 如果即时帮助窗口不可见,按Ctrl+H键显示窗口。保持窗口打开,可以得到鼠标指针所指向对象的帮助信息。
3 在LabVIEW项目浏览器窗口中,右键点击我的电脑,选择新建》I/O服务器,如图3所示。
图3:通过LabVIEW项目新建I/O服务器
4 在新建I/O服务器窗口中选择OPC客户端,点击继续。
5 仍已注册OPC服务器框中选择National InstrumentsNIOPCServers,设置更新速率(ms)为100。这将创建LabVIEW与OPC标签的连接,每隔100 ms更新。
CropperCapture[3]
Figure 4 Configuring the OPC Client I/O Server
6 选择确定。在您的项目浏览器窗口中自动创建了库,用于管理I/O服务器。
7 仍项目浏览器窗口中选择文件》保存所有,将项目保存为OPCDemoProject,将库保存为OPCDemoLibrary。
创建通过I/O服务器连接到OPC标签的共享变量
在本小节中,将创建绑定到OPC标签上的共享变量,仍而可以在LabVIEW中本地访问PLC数据。使用共享变量,您可以在一台计算机或是网络中,在多个LabVIEW应用程序间共享数据。
创建绑定到PLC OPC标签上的新共享变量。
在LabVIEW项目窗口中,右击我的电脑,选择新建》库。这样可以为共享变量建立一个新库,用于连接到PLC的OPC标签。
右击新建的库,选择创建绑定变量……
在创建绑定变量窗口中,选择OPC标签,通过浏览来自OPC服务器的仿真正弦数据,选择共享变量所需绑定的OPC标签,如图5所示。
>微信小程序裁剪组件,支持前端裁剪和后端裁剪两种方式
1前端裁剪:将裁剪框指定的区域,单独生成,获取裁剪的临时文件路径
2后端裁剪:获取裁剪框相对于原图的像素坐标位置,将裁剪区域坐标以及原图临时文件路径,传到后端进行裁剪
>
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)