jsp上传图片并预览
① 通过JSP怎样上传图片到服务器
1.限制文件上传类型只能是图片
function checkFileType(name,file){
var extArray = new Array(".doc",".docx");
var allowSubmit = false;
if (!file){
return;
}
while (file.indexOf("\\") != -1){
file = file.slice(file.indexOf("\\") + 1);
}
var ext = file.slice(file.indexOf(".")).toLowerCase();
for (var i = 0; i < extArray.length; i++) {
if (extArray[i] == ext){
allowSubmit = true;
break;
}
}
if(!allowSubmit){
alert("只能上传以下格式的文件:"+ (extArray.join("")) + "\n请重新选择再上传.");
document.getElementById(name).value = "";
}
}
其中:extArray是要求文件类型。可自行定义。
2.引入jQuery外部文件
jquery-2.1.4.min.js
3.编写js代码
$(function () {
$('#txtfilePath1').uploadReview({
width: 350,
height: 350,
target: '#uploadReview1_content'
});
});
其中:txtfilePath1是input:file。width,height是预览图片的宽度和高度。target是显示预览图片的位置。
4.编写jsp页面代码
<body>
<input type="text" class="yourClassName" name="filePath1" id="filePath1"/>
<input type="file" id="txtfilePath1" name="txtfilePath1" style="display:none;">
<input type="button" onclick="txtfilePath1.click()" id="fileup1" name="fileup1" class="searchThing"value="上传">
</body>
注: 这个是很久以前在网上看到的,就整理了下来,但是这么久都没用过,所以也没调试过,你自己试一试研究研究, 再来网上很多博客里,他们写的很详细的,可以去看看
② jsp+servlet 上传图片并显示出来
其实你这个挡也显示图片其实很简单的,
你的需求无非是两个
1.servlet上传文件(图片)
2.点击 浏览 图标,然后选择图片文件,然后就可以在页面中的某个地方看到图片
是这两个需求么?
首先说第二个吧。
你上传图片之后,就马上触发js函数,内容为
var PicPath = document.getElementById("yourfile").value;
document.getElementById("yourDiv").innerHTML="<IMG src="+PicPath+"/>";
OK了
第一个嘛就无所谓说了,不过我还是贴一个代码吧,
public void upLoadFile(HttpServletRequest request, HttpServletResponse response) {
PrintWriter out = null;
response.setCharacterEncoding("UTF-8");
//实例化文件工厂
FileItemFactory factory = new DiskFileItemFactory();
//配置上传组件ServletFileUpload
ServletFileUpload upload = new ServletFileUpload(factory);
try {
out = response.getWriter();
//从request得到所有上传域的列表
List<FileItem> list = upload.parseRequest(request);
for (FileItem item : list) {
//isFormField判断一个item类对象封装的是一个普通的表单字段还是文件表单字段。
// 如果item是文件域,则做出如下处理:
if (!item.isFormField()) {
//上传文件域的Name
String fileName = item.getName();
//截取扩展名
int idx = fileName.lastIndexOf(".");
String extension = fileName.substring(idx);
//获取文件名
String name = new Date().getTime() + extension;
//得到文件夹的物理路径
String path = this.getServletContext().getRealPath("\\upload");
//创建一个File
File file = new File(path + "\\" + name);
FileOutputStream o = new FileOutputStream(file);
InputStream in = item.getInputStream();
try {
LoadProcessServlet.process = 0;
LoadProcessServlet.total = 100;
LoadProcessServlet.isEnd = false;
LoadProcessServlet.total = item.getSize();
byte b[] = new byte[1024];
int n;
while ((n = in.read(b)) != -1) {
LoadProcessServlet.process+=n;
o.write(b, 0, n);
System.out.println("实际:"+LoadProcessServlet.process);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
LoadProcessServlet.isEnd = true;
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
③ 求大神,jsp上上传图片,并显示出来,将其相对路径记入数据库
java">
Stringtime=newSimpleDateFormat("yyyyMMddHHmmss")
.format(Calendar.getInstance().getTime());//得到系统时间
//上传技术
SmartUploap=newSmartUpload();
//进行初始化
up.initialize(this.getServletConfig(),request,response);
//开始上传
try{
up.upload("utf-8");//设置编码方式。
intid=Integer.parseInt(up.getRequest().getParameter("id"));//商品编号
SmartFilessf=up.getFiles();//得到上传的所有图片
SmartFilefile=sf.getFile(0);//根据索引得到上传图片多个图片可以用循环:
Stringtype=file.getFileExt();//得到图片后缀名
Stringfolder="tp/";//指定文件夹
Stringpath=folder+time+"."+type;//路径
System.out.println(path+"路径");
file.saveAs(request.getRealPath("/")+path);//保存图片
}catch(Exceptione){
e.printStackTrace();
}
//你搞个邮箱我把SmartUploadjar包发给你吧。 //设置from提交
/*<form action="SellerServet" method="post"
enctype="multipart/form-data">*/ // 加上enctype="multipart/form-data
④ 用Java Web的jsp制作图片上传和显示如何实现
用jspSmartUpload组件来实现,用jsp+servlet在Servlet里实现的代码:
PrintWriter out = response.getWriter();
int count = 0;
// 实例化亏友上传控件对象
SmartUpload su = new SmartUpload();
// 初始化操作
su.initialize(config, request, response);
// 设置上传文件最大字节数
su.setTotalMaxFileSize(100000);
//
try {
//禁止上传指定扩展和空唤名的文件
su.setDeniedFilesList("ext,bat,jsp");
} catch (SQLException e1) {
e1.printStackTrace();
}
try {
// 上传文件到服务器
su.upload();
File fileup = new File(request.getRealPath("upload"));
if(!fileup.exists()){
// 创建目录
fileup.mkdir();
}
// 处理多个文件的上传
for(int i = 0;i < su.getFiles().getCount();i++){
com.jspsmart.upload.File file = su.getFiles().getFile(i);
if(!file.isMissing()){ // 如果文件有效
// 保存文件到指定上传目录
file.saveAs("/upload/new."+file.getFileExt(), su.SAVE_VIRTUAL);
count = su.save("/upload");
}
}
} catch (SmartUploadException e) {
e.printStackTrace();
}
out.println(count +"file(s) uploaded");
如果你对这个上唤凯传组件不了解,最好是先去查查用法。。。
⑤ JSP如何上传图片
如果你是纯JSP写的,可以用SmartUpload.在你的页面form 里 <form action="doUpload.jsp" method="POST" enctype="multipart/form-data">
文件名:<input type="text" name="name"/><br>
请选择上传的文件:<input type="file" name="file1"/>
<input type="submit" value="上传"/>
</form> 注意:enctype="multipart/form-data"这个一定要这样设置,具体什么意思我也不是很清楚.....(呵呵) 提交到执行的页面如下: //实例化上传组件
SmartUpload upload = new SmartUpload();
//初始化上传组件
upload.initialize(this.getServletConfig(), request, response);
//开始上传
upload.upload();
//获取上传的文件列表对象
Files f = upload.getFiles();
//获取文件对象
File fil = f.getFile(0);
//去掉文件后缀
String ext = fil.getFileExt();
//判断文件类型是否是jpg格式jpg,gif,bmp,png,JPG,GIF,BMP,PNG
if (!(ext.equals("jpg")) && !(ext.equals("gif")) && !(ext.equals("bmp")) && !(ext.equals("png")) && !(ext.equals("JPG")) && !(ext.equals("GIF")) && !(ext.equals("BMP")) && !(ext.equals("PNG"))) {
out.println("<script type='text/javascript'>alert('文件类型错误');location.replace('upLoadPhoto.jsp');</script>");
return;
}
//满足条件进行文件的上传uploadImages在webRoot文件夹下的一个目录
fil.saveAs("uploadImages/" + fil.getFileName());
String filepath = "uploadImages/" + fil.getFileName(); //保存到数据库的路径 OK.这样就可以了.....
⑥ jsp上传及显示照片
<form action="pages/news/NewsServlet?status=insert" method="post" enctype="multipart/form-data">
新闻图片:
<input type="file" name="img">
<br />
<input type="submit" value="添加">
</form>
后台代码
public void insert(HttpServletRequest request, HttpServletResponse response)
throws Exception {
SmartUpload smart = new SmartUpload();
smart.initialize(super.getServletConfig(), request, response);
smart.upload();
File img = smart.getFiles().getFile(0);
String fileName = null;
if (img != null && img.getSize() > 0) {
fileName = UUID.randomUUID().toString() + "." + img.getFileExt();
img.saveAs("/upload/" + fileName);
}
String title = smart.getRequest().getParameter("title");
String content = smart.getRequest().getParameter("content");
News news = new News();
news.setTitle(title);
news.setContent(content);
news.setImg(fileName);
news.setPostDate(new Date());
boolean flag = ServiceFactory.getINewsServiceInstance().insert(news);
if (flag) {
request.setAttribute("message", "新闻添加成功");
} else {
request.setAttribute("message", "新闻添加失败");
}
request.setAttribute("url", "pages/news/NewsServlet?status=list");
request.getRequestDispatcher("/pages/forward.jsp").forward(request,
response);
}
}
⑦ jsp怎么实现浏览本地图片选中上传到页面上,并且保存在数据库,从数据库读取也可以显示在页面上
数据库不能保存图像,但是能保存图像名,我给你个思路,用户上传后使用uid方法将图片重命名,然后将新的名称存在数据库,图片保存在一个已知路径,然后页面加载只需要将图片src设置成"路径/数据库查询结果。(建议通过id查询)"
⑧ 用java写上传图片时,怎么实现预览功能
图片上传后在网页上直接读取上传后的地址进行预览,就是说这个时候图片已经上传到服务器了,如果要写的严谨一些,可以在预览后进行保存操作,如果不保存,则再写一条语句把上传上去的文件删除
⑨ 在jsp中做照片上传预览的代码
建议你使用 Web upload 组件,可图片预览, 可多选,可拖放上传,可粘贴后直接上传
网络开源产品.
俩三行代码就可以直接使用
具体网址 :
http://www.admin10000.com/document/4721.html