使用MyBatista----上传图像

使用MyBatis上传图像,使用的是Oracle的数据库表,有一个TEACHER表,有7列,有1列是存储图片的,类型用BLOB,最大容量是4G,以二进制的形式写入数据库表。

建立这个表的对应实体类Teacher,实体类中对应表中的BLOB类型数据的是字节数组的变量,再建立这个实体类的接口TeacherMapper和对应映射文件TeacherMapper.XML。

对应的接口比较简单,写个抽象的插入数据方法和查询数据的方法。

映射文件中写好具体的sql语句,插入语句和查询语句,注意参数类型和结果类型,少了可能会报错。

下面就是测试文件了:写入图像需要用到输入流,用字节流InputStream即可,因为是以二进制写入数据表,还需要用到File类,给输入流提供写入的素材,输入流准备好后,再构建一个Teacher对象,调用插入方法就完成插入操作了。测试类用的JUnit Test Case ,tm是接口的对象。

刷新数据库,查看操作结果

从数据库表往外查询图片,需要给图片先指定一个存储路径以便接受,使用输出流OutputStream,也需要使用File类传输路径,

时间: 2024-11-03 22:14:10

使用MyBatista----上传图像的相关文章

B/S(WEB)系统中使用Activex插件调用扫描仪实现连续扫描并上传图像(IE文件扫描并自动上传)

IE浏览器下使用Activex插件调用客户端扫描仪扫描文件并山传,可以将纸质档案(如合同.文件.资料等)扫描并将扫描图像保存到服务器,可以用于合同管理.档案管理等. 通过插件方式调用扫描仪扫描并获取图像,可以减少用户操作,减少操作出错,如一次扫描量大也可以使用连续扫描,由系统对扫描文件进行编号或进行其他处理. web页面中只需通过js调用后启动扫描仪扫描,即可获取扫描文件的图像编码,再通过ajax或表单提交到服务器解码后保存为jpg文件即可. 通过服务器上程序处理后,可以方便以后浏览或去其它用户

JS打开摄像头并截图上传

直入正题,JS打开摄像头并截图上传至后端的一个完整步骤 1. 打开摄像头主要用到getUserMedia方法,然后将获取到的媒体流置入video标签 2. 截取图片主要用到canvas绘图,使用drawImage方法将video的内容绘至canvas中 3. 将截取的内容上传至服务器,将canvas中的内容转为base64格式上传,后端(PHP)通过file_put_contents将其转为图片 要注意的是,在chrome以外的浏览器中,使用摄像头或多或少会出现一些问题,可能也是老问题了,所以以

个人界面 < 头像 > 图片选择(相册,拍照)--如何调用系统的相册,裁剪并且上传

##需求:个人界面的,个人头像图片的切换 方式一:点击开始切换头像的pop–相册选择 二:这里有两种方式,从相册选择和直接拍照,假设现在是从相册选择选择头像 *我在pop确定的点击方法中写了一个方法-–实现打开系统的相册并且获取到照片路径,在这里我们一开始就设置了请求码,用来区分onActivityResult,然后在本Activity中通过onActivityResult方法中通过请求码做相对应的处理 第一步:打开系统的相册 /** * 从相册获取 */ protected void toAl

前端插件——头像截图上传插件的使用(带后台)

效果图:实现上传头像,右边是预览,有三个大小,可以对头像进行裁剪 HTML: toParentData 和 img 返回的是图片裁剪后的base64编码.其中toParentData用于业务需求,可以忽略. <!DOCTYPE html> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <head> <c:set va

MVC+AjaxFileUpload文件上传

本次给大家分享的是ajaxfileupload文件上传插件,百度一大堆功能超炫的文件上传插件,为什么我们会选择这个插件呢? 原因是在此之前,我们尝试使用过很多基于flash的上传插件,但由于兼容性,适用性等诸多问题,最终我们选择了—ajaxfileupload.js,由于它使用的原生input标签实现,兼容性很好,它的原理和用法我就不多说了,很多大神们都分析的很透彻.本次和大家分享一下使用它时遇到的各种'坑',希望大家在使用的时候有所规避. 1.类型问题 如下图,网上大多数资料都说类型dataT

个人中心模块-拍照剪裁上传

现在多数的网络应用都有个人中心的模块,里面少不了用户上传图像功能,正好最近项目里用到了这个就从网上找了一个集成进来,写得挺好的代码给大家推广一下.废话不多说了,代码已经上传到网盘,有需要的朋友可以去下载来看看,这里处理一下上传的问题.使用AsyncTask异步上传 private class RegHeadAsyncTask extends AsyncTask<String, Void, String> { protected void onPreExecute() { } protected

php+uploadify 多图上传

2015-11-25说明:兼容ie 1 <html> 2 <head> 3 <meta charset='utf-8'> 4 <title></title> 5 <script type="text/javascript" src="jquery-1.6.2.min.js" ></script> 6 <script type="text/javascript"

ThinkPHP 3.2.3集成uploadify上传控件

uploadify控件有一个坑爹的问题,就是文件上传时会session丢失,官方解释http://www.uploadify.com/documentation/uploadify/using-sessions-with-uploadify/,通过formData属性解决. 前端代码 <input type="file" name="file_upload" id="file_upload" /> $('#file_upload').

使用canvas给图片添加水印, canvas转换base64,,canvas,图片,base64等转换成二进制文档流的方法,并将合成的图片上传到服务器,

一,前端合成带水印的图片 一般来说,生成带水印的图片由后端生成,但不乏有时候需要前端来处理.当然,前端处理图片一般不建议,一方面js的处理图片的方法不全,二是有些老版本的浏览器对canvas的支持度不够. 下面我们就说说,利用canvas 生成带水印的图片. 1.我们要实现一下效果 2.创建一个canvas var canvas = document.createElement('canvas'); var time = new Date(); var logoCanvas =time+' '+