利用jspsmartupload和数据库进行图文信息的发布和管理
来源:互联网 发布:淘宝网手机货源 编辑:程序博客网 时间:2024/05/01 22:39
在做web开发的时候,有时候我们需要利用数据库对一些图文信息进行处理。对纯文字的信息,可以方便的利用数据库进行读取操作,但是如果想在所存取的文字中插入图片,将图片存入数据库是一种思路。下面介绍一种上传图片到服务器文件夹,但是只在数据库中存储图片路径,网页读取数据库路径即可完成图文信息的显示的方法。
首先,需要下载smartupload包,这个百度找下就可以了。将jar包放进WEB-INF下面的lib文件夹中。
再者,页面的编码格式需要是GBK格式的。<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<form action="../addNewsServlet" method="post" enctype="multipart/form-data"> //使用smartupload进行文件的上传操作必须将form的method设置为post方式,并将数据封装enctype="multipart/form-data" 是必须的。 <table border="5"align="center"width="70%" bgcolor="#cccfff"> //以下textarea放入所需要的文字内容,而一个不可见的输入text框是存放随机生成的文件名,方便其他页面的读取。 <tr> <td width="80" align="center">内容</td><pre name="code" class="html"> <input type="text" style="visibility: hidden;" name="randomName" id="randomName"> //<pre></pre>标签可以使得数据保留空格,回车等字符,使得存入数据库或者其他页面显示的时候不会格式出现问题。<td><pre><textarea cols="100" rows="20" id="newsContent" name="newsContent"></textarea></pre></td> </tr> <tr> <td width="80" align="center">选择上传图片</td> <td>
//一个输入文件框。
<input type="file" name="imgUpload" id="imgUpload">
//这个按钮利用js代码将图片以网页标签的格式插入到文本中,js代码见下面。
<input type="button" value="插入图片" onclick="insertImg()"> </td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" name="submit" value="确定"> <input type="reset" name="reset" value="清空"> </td> </tr> </table> <%
//此处获取系统的纳秒级时间作为文件名。
String nameNum = String.valueOf(System.nanoTime()); %> </form>
<script type="text/javascript"> //将文件路径添加至文本框里面,请注意,此时并没用实际文件,提交后在servlet中将将图片传地址设定的文件夹中。 function insertImg(){ var fileinput = <%=nameNum %>+".jpg"; var filePath = '<br/><img alt="" src="../upload/'+fileinput+'" width="90%"></img><br/>'; var nContent = document.getElementById("newsContent").value; nContent = nContent+filePath; alert("添加图片成功,请继续操作!"); document.getElementById("newsContent").value=nContent; document.getElementById("randomName").value=<%=nameNum %>; } </script>
接下来,我们需要在servlet中进行上传文件和写入数据库的操作,写入数据库此处不再赘述,只说明上传图片的方法及对编码的处理。当然你也可以在jsp文件中进行相关操作。
//将页面编码为GBK防止文件名乱码request.setCharacterEncoding("GBK");//建立smartupload对象SmartUpload up = new SmartUpload(); up.initialize(getServletConfig(),request,response); long file_size_max = 1024*1024; try { //设置允许的文件格式,此处只允许jpg格式 up.setAllowedFilesList("jpg"); //设置允许的文件大小 up.setMaxFileSize(file_size_max); //上传文件 up.upload(); //获取上传的文件,如果上传的文件为多个,那个只需要遍历获取就可以了。 File myFile = up.getFiles().getFile(0); //此处获取表单中生成的随机文件名作为要存储的文件名。注意由于form被封装使用request.getParameter无法获取表单数据。另外如果表单数据的中文字符为奇数个的时候,GBK向UTF-8转换会出现乱码 //因为GBK和UTF-8的编码方式是不一样的,可以利用下面你的方式进行转换。 String randomName1 = new String(up.getRequest().getParameter("randomName").getBytes("UTF-8"),"iso-8859-1");String randomName = new String(randomName1.getBytes("iso-8859-1"),"UTF-8") + ".jpg";//保证服务器的根目录下有upload文件夹,可根据需要自己更改路径。 myFile.saveAs("/upload/"+randomName); } catch (Exception e) { e.printStackTrace(); }
对其他表单数据的读取此处也不再赘述。利用这种方式,将图片上传到服务器文件夹,在数据库中只存储<img/>标签格式的图片表达方式,当输出到jsp页面的时候可直接显示图文信息。
0 0
- 利用jspsmartupload和数据库进行图文信息的发布和管理
- 利用Google进行专题信息检索的方法和技巧
- sqlserver2008r2通过发布和订阅的方式进行数据库同步
- 利用Java进行MySql数据库的导入和导出
- 利用Java进行MySql数据库的导入和导出
- 利用Java进行MySql数据库的导入和导出
- 利用Java进行MySql数据库的导入和导出
- 利用Java进行MySql数据库的导入和导出
- 利用Java进行MySql数据库的导入和导出
- 利用Java进行MySql数据库的导入和导出
- 利用Java进行MySql数据库的导入和导出
- 搞定使用jspsmartupload 组件进行上传和下载出现的乱码问题。
- 利用jspsmartupload组件来上传和下载文件
- jsp利用jspsmartupload.jar包上传源码和jar包
- jspsmartupload上传和其他的上传
- 网站对历史发布信息进行备份和查阅的相关管理制度及执行情况说明
- 数据库的订阅和发布
- 如何利用Java获取进程的信息(通过tasklist和cmd与Windows进行交互)
- Unity复习之SQL高级查询
- arm-linux-gnueabihf-gcc下载 ,arm-linux-gnueabi-gcc 的区别
- 做了一个圣诞节html5游戏,祝大家圣诞节快乐!
- Java 如何像C/C++输入数据
- Linux常用操作之sshfs挂载、卸载
- 利用jspsmartupload和数据库进行图文信息的发布和管理
- java简介和开发环境搭建
- 学习Unity3D之登陆。
- java之成员变量和局部变量的区别
- 判别机器大小端,打印int的二进制
- TFS - nginx-tfs模块
- kickstart配置文件详解和system-config-kickstart
- 使用Eclipse远程调试及原理
- django cpu监控之九-----使用psutil获取CPU数据