上传解决方案之一:上传处理大数据blob
uploadify+hibernate+ oracle
代码应该与mysql mssqlserver 通用 本人用的是oracle 其它没有测试
本文章专提供给使用uploadify 上传大文件处理的问题,前提是假设看本文档的人已经会使用uploadify 上文件 如果还不会使用的请看本人的uploadify 教程
1.Learner.java code
public class LearnerInfo implements java.io.Serializable {
/
private String learnerId;//学员ID
private String learnerName;//学员姓名
private byte[] photo;
// Constructors
/** default constructor */
public Learner() {
}
public String getLearnerId() {
return this.learnerId;
}
public void setLearnerId(String learnerId) {
this.learnerId = learnerId;
}
public String getLearnerName() {
return this.learnerName;
}
public void setLearnerName(String learnerName) {
this.learnerName = learnerName;
}
/**
* @return the photo
*/
public byte[] getPhoto() {
return photo;
}
/**
* @param photo the photo to set
*/
public void setPhoto(byte[] photo) {
this.photo = photo;
}
}
2.learner.xml code
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="Learner" table="LEARNER">
<id name="learnerId" type="java.lang.String">
<column name="LEARNER_ID" length="8" />
<generator class="assigned"></generator>
</id>
<property name="learnerName" type="java.lang.String">
<column name="LEARNER_NAME" length="30">
</column>
</property>
<property name="photo" type="org.springframework.orm.hibernate3.support.BlobByteArrayType">
<column name="PHOTO" >
</column>
</property>
</class>
</hibernate-mapping>
3上传java code
public void uploadImg(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 创建磁盘文件工厂
DiskFileItemFactory fac = new DiskFileItemFactory();
// 设置内存缓冲区,超过后写入临时文件
fac.setSizeThreshold(20240000);
// 创建servlet文件上传组件
ServletFileUpload upload = new ServletFileUpload(fac);
upload.setHeaderEncoding("UTF-8");
// 遍历从前台得到的文件列表
List<?> items = null;
FileItem item = null;
try {
items = upload.parseRequest(request);
for (int i = 0; i < items.size(); i++) {
item = (FileItem) items.get(i);
//fileName = "D:" + File.separator + item.getName();
// 保存文件
if (!item.isFormField() && item.getName().length() > 0) {
tempName = item.getName();
byte[] buffer = item.get();
Learner learner = new Learner();
learner.setLearnerId(“1”);
learner.setLearnerName(“学生姓名”);
learner.setPhoto(buffer );
Learnerbs.save(learner)
}
}
} catch (FileUploadException e1) {
e1.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
request.setAttribute("coachId", coachId);
request.setAttribute("learnerId", learnerId);
//response.sendRedirect("success.jsp");
//request.getRequestDispatcher("success.jsp").forward(request,response);
// 打印输出
PrintWriter out = null;
out = encodehead(request, response);
out.write("上传成功!");
out.close();
}
4.展示图片 java code
public void displayPhoto(){
String id = request.getParameter("id");
Learner learner =LearnerBS.get(id);
byte[] photo = learner.getPhoto();
if(photo==null){
return;
}
InputStream is = null;
try {
is = new ByteArrayInputStream(photo);
byte[] buffer = new byte[1024];
int len = 0;
OutputStream out = response().getOutputStream();
while((len=is.read(buffer))>0){
out.write(buffer,0, len);
}
out.close();
out.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
分享到:
相关推荐
在本示例中,我们将探讨如何使用Oracle数据库、Hibernate ORM框架以及Uploadify插件处理Blob类型的大数据,如图片或文件上传。Blob(Binary Large Object)是数据库中用于存储二进制大对象的类型,常用于存储图片、...
Rocky Linux 8.10内核包
内容概要:本文档详细介绍了如何在Simulink中设计一个满足特定规格的音频带ADC(模数转换器)。首先选择了三阶单环多位量化Σ-Δ调制器作为设计方案,因为这种结构能在音频带宽内提供高噪声整形效果,并且多位量化可以降低量化噪声。接着,文档展示了具体的Simulink建模步骤,包括创建模型、添加各个组件如积分器、量化器、DAC反馈以及连接它们。此外,还进行了参数设计与计算,特别是过采样率和信噪比的估算,并引入了动态元件匹配技术来减少DAC的非线性误差。性能验证部分则通过理想和非理想的仿真实验评估了系统的稳定性和各项指标,最终证明所设计的ADC能够达到预期的技术标准。 适用人群:电子工程专业学生、从事数据转换器研究或开发的技术人员。 使用场景及目标:适用于希望深入了解Σ-Δ调制器的工作原理及其在音频带ADC应用中的具体实现方法的人群。目标是掌握如何利用MATLAB/Simulink工具进行复杂电路的设计与仿真。 其他说明:文中提供了详细的Matlab代码片段用于指导读者完成整个设计流程,同时附带了一些辅助函数帮助分析仿真结果。
内容概要:该题库专为研究生入学考试计算机组成原理科目设计,涵盖名校考研真题、经典教材课后习题、章节题库和模拟试题四大核心模块。名校考研真题精选多所知名高校的计算机组成原理科目及计算机联考真题,并提供详尽解析,帮助考生把握考研命题趋势与难度。经典教材课后习题包括白中英《计算机组成原理》(第5版)和唐朔飞《计算机组成原理》(第2版)的全部课后习题解答,这两部教材被众多名校列为考研指定参考书目。章节题库精选代表性考题,注重基础知识与重难点内容,帮助考生全面掌握考试大纲要求的知识点。模拟试题依据历年考研真题命题规律和热门考点,精心编制两套全真模拟试题,并附标准答案,帮助考生检验学习成果,评估应试能力。 适用人群:计划参加研究生入学考试并报考计算机组成原理科目的考生,尤其是需要系统复习和强化训练的学生。 使用场景及目标:①通过研读名校考研真题,考生可以准确把握考研命题趋势与难度,有效评估复习成效;②通过经典教材课后习题的练习,考生可以巩固基础知识,掌握解题技巧;③通过章节题库的系统练习,考生可以全面掌握考试大纲要求的各个知识点,为备考打下坚实基础;④通过模拟试题的测试,考生可以检验学习成果,评估应试能力,为正式考试做好充分准备。 其他说明:该题库不仅提供详细的题目解析,还涵盖了计算机组成原理的各个方面,包括计算机系统概述、数据表示与运算、存储器分层、指令系统、中央处理器、总线系统和输入输出系统等。考生在使用过程中应结合理论学习与实践操作,注重理解与应用,以提高应试能力和专业知识水平。
__UNI__DB9970A__20250328141034.apk.1
rust for minio
国网台区终端最新规范
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。
一个简单的机器学习代码示例,使用的是经典的鸢尾花(Iris)数据集,通过 Scikit-learn 库实现了一个简单的分类模型。这个代码可以帮助你入门机器学习中的分类任务。
pyqt离线包,pyqt-tools离线包
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。
SQL常用日期和时间函数整理及在sqlserver测试示例 主要包括 1.查询当前日期GETDATE 2.日期时间加减函数DATEADD 3 返回两个日期中指定的日期部分之间的差值DATEDIFF 4.日期格式转换CONVERT(VARCHAR(10),GETDATE(),120) 5.返回指定日期的年份数值 6.返回指定日期的月份数值 7.返回指定日期的天数数值
GSDML-V2.3-Turck-BL20_E_GW_EN-20160524-010300.xml
T_CPCIF 0225-2022 多聚甲醛.docx
《基于YOLOv8的智能仓储货物堆码倾斜预警系统》(包含源码、可视化界面、完整数据集、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计
蚕豆脱壳机设计.zip
台区终端电科院送检文档
Y6一39一No23.6D离心通风机 CAD().zip
django自建博客app
台区终端电科院送检文档