本文目录一览:
- 1、jsp中如何编写代码实现图片的上传下载
- 2、jsp上传图片,最好完整代码。100分!
- 3、JSP如何上传图片?
- 4、JSP如何上传图片
- 5、Jsp上传图片到指定文件夹下 求详细代码
- 6、通过JSP怎样上传图片到服务器
jsp中如何编写代码实现图片的上传下载
图片的上传一般是用组件做的,一般不会用jsp去编写,比较常见的图片上传组件有smartUpload,struts框架的file-common-upload等。
试着学习一下吧,很简单好使。
jsp上传图片,最好完整代码。100分!
upfile.jsp 文件代码如下:
form method="post" action="uploadimage.jsp" name="form1" enctype="multipart/form-data"
input type="file" name="file"
input type="submIT" name="sub" value="upload"
/form
form method="post" action="uploadimage.jsp" name="form1" enctype="multipart/form-data"
input type="file" name="file"
input type="submit" name="sub" value="upload"
/form
STRONGFONT color=#ff0000uploadimage.jsp/FONT/STRONG
文件代码如下:
uploadimage.jsp
文件代码如下:view plaincopy to clipboardprint?
PRE class=java name="code"%@ page language="java" pageEncoding="gb2312"%
%@ page import="java.io.*,java.awt.Image,java.awt.image.*,com.sun.image.codec.jpeg.*,java.sql.*,com.jspsmart.upload.*,java.util.*"%
%@ page import="mainClass.*" %
html
head
titleMy JSP 'uploadimage.jsp' starting page/title
/head
body
%
SmartUpload sma=new SmartUpload();
long file_max_size=4000000;
String filename1="",ext="",testvar="";
String url="uploadfiles/";
sma.initialize(pageContext);
try
{
sma.setAllowedFilesList("jpg,gif");
sma.upload();
}catch(Exception e){
%
script language="jscript"
alert("只允许上传jpg,gif图片")
window.location.href="upfile.jsp"
/script
%
}
try{
com.jspsmart.upload.File myf=sma.getFiles().getFile(0);
if(myf.isMissing()){
%
script language="jscript"
alert("请选择要上传的文件!")
window.location.href="upfile.jsp"
/script
%
}else{
ext=myf.getFileExt();
int file_size=myf.getSize();
String saveurl="";
if(file_size file_max_size){
Calendar cal=Calendar.getInstance();
String filename=String.valueOf(cal.getTimeInMillis());
saveurl=request.getRealPath("/")+url;
saveurl+=filename+"."+ext;
myf.saveAs(saveurl,sma.SAVE_PHYSICAL);
myclass mc=new myclass(request.getRealPath("data/data.mdb"));
mc.executeInsert("insert into [path] values('uploadfiles/"+filename+"."+ext+"')");
out.println("图片上传成功!");
response.sendRedirect("showimg.jsp");
}
}
}catch(Exception e){
e.printStackTrace();
}
%
/body
/html
/PRE
本文来自: IT知道网() 详细出处参考:
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如何上传图片
请几天写了一个、代码给你看看、说明下:这有两个文件夹、都在Web容器(Tomcat)的根目录下、一个临时文件夹、一个保存上传文件的文件夹、
UploadFile.java-----用于上传的servlet
public class UploadFile extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setCharacterEncoding("GBK"); response.setContentType("text/html"); PrintWriter out = response.getWriter(); // 允许上传的文件格式的列表 final String[] allowedExt = new String[] { "jpg", "jpeg", "gif" }; // 这里对request进行封装,RequestContext提供了对request多个访问方法 RequestContext requestContext = new ServletRequestContext(request); // 判断表单是否是Multipart类型的 if (FileUpload.isMultipartContent(requestContext)) { // 实例化一个硬盘工厂 DiskFileItemFactory factory = new DiskFileItemFactory(); // 设置缓存区的大小 factory.setSizeThreshold(1024 * 1024); // 设置目标临时文件夹 String temp=this.getServletContext().getRealPath("/") + "FileTemp"; // 设置目标文件夹路径 String path = this.getServletContext().getRealPath("/") + "File"; // 设置上传文件夹路径 factory.setRepository(new File(temp)); // 上传组件 ServletFileUpload upload = new ServletFileUpload(factory); // 设置文件上传的大小 upload.setFileSizeMax(3 * 1024 * 1024); ListFileItem fileList = null; try { // 获取文件列表 fileList = upload.parseRequest(request); } catch (FileUploadException e) { if (e instanceof SizeLimitExceededException) { out.println("文件尺寸超过规定大小:" + 3 * 1024 * 1024 + "字节p/"); return; } e.printStackTrace(); } // 得到所有上传文件 IteratorFileItem it = fileList.iterator(); while (it.hasNext()) { // 得到系统时间 long now = System.currentTimeMillis(); // 将long类型转换为String类型 String prefix = String.valueOf(now); FileItem fileItem = (FileItem) it.next(); // 得到文件的后缀 String postfix = fileItem.getName().substring( fileItem.getName().lastIndexOf(".") + 1); // 拒绝接受规定文件格式之外的文件类型 int allowFlag = 0; int allowedExtCount = allowedExt.length; for (; allowFlag allowedExtCount; allowFlag++) { if (allowedExt[allowFlag].equals(postfix)) break; } if (allowFlag == allowedExtCount) { out.println("请上传以下类型的文件p /"); for (allowFlag = 0; allowFlag allowedExtCount; allowFlag++) out.println("*." + allowedExt[allowFlag] + " "); return; } // 保存文件,其实就是把缓存里的数据写到目标路径下 File newFile = new File(path + "/" + prefix + "." + postfix); // 文件列表为空 if (fileItem.getName() == null || fileItem.getName() == "") { out.println("请选择上传文件p /"); } try { if (newFile.createNewFile()) fileItem.write(newFile); } catch (Exception e) { e.printStackTrace(); } out.println("文件上传成功. 已保存为: " + prefix + "." + postfix + " 文件大小:" + fileItem.getSize() + "字节p /"); } } out.flush(); out.close(); }}由于篇幅太长、有些代码已省去、至于储存图片名到数据、这个很简单、、那里已经取到文件名、插入到数据库应该很简单、这里我不副累赘、再赠送两个、一个下载、一个删除、知道就跳过吧、
DownloadFile.java-------用于下载的servlet
public class DownloadFile extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { FileBiz fileBiz = new FileBiz(); request.setCharacterEncoding("GBK"); // 获取要下载的文件名 String fileName = request.getParameter("filename"); // 获取文件的绝对路径 String fileDir = this.getServletContext().getRealPath("/File"); /** 设置MS下载页头 */ response.setContentType("application/x-msdownload"); response.setHeader("Content-Disposition", "attachment;" + " fileame=" + fileName); //把方法写在另一个类里面了、 fileBiz.download(response.getOutputStream(), fileDir, fileName); }} //下载文件 public void download(OutputStream os, String fileDir,String fileName) { try { InputStream is = new FileInputStream(fileDir + "/" + fileName); int hasRead = 0; byte[] buffer = new byte[4096]; while ((hasRead = is.read(buffer, 0, buffer.length)) != -1) { os.write(buffer, 0, hasRead); } os.flush(); os.close(); is.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { System.out.println("下载中文件数据传输出错"); e.printStackTrace(); } }
下载没什么好说的、注意传过来的filename就行了、
DeleteFile.java------用于删除的servletpublic class DeleteFile extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setCharacterEncoding("GBK"); response.setContentType("text/html"); PrintWriter out = response.getWriter(); // 获取要删除的文件名 String fileName = request.getParameter("filename"); // 获取文件的绝对路径 String fileDir = this.getServletContext().getRealPath("/File"); if(fileBiz.delete(fileDir,fileName)) out.println("删除成功"); else out.println("删除失败"); }} //删除文件 public boolean delete(String fileDir,String fileName){ return new File(fileDir+"/"+fileName).delete(); }
删除文件更简单、一行代码的事情、
其实这些都是基于流的操作、还有很过方法等着我们去尝试吧、
至于jar包的话、安装时应该有、没有百度一下、到处都是、还有一种方式上传、下载、没试过、用的是jspSmartUpload包、有时间研究研究、
代码有点多、多点乱、但、也没办法了、希望你能看明白、
就这样了、祝你好运、
Jsp上传图片到指定文件夹下 求详细代码
String time = new SimpleDateFormat("yyyyMMddHHmmss")
.format(Calendar.getInstance().getTime());// 得到系统时间
// 上传技术
SmartUpload up = new SmartUpload();
// 进行初始化
up.initialize(this.getServletConfig(), request, response);
// 开始上传
try {
up.upload("utf-8");//设置编码方式。
int id = Integer.parseInt(up.getRequest().getParameter("id"));// 商品编号
SmartFiles sf = up.getFiles();// 得到上传的所有图片
SmartFile file = sf.getFile(0);// 根据索引得到上传图片 多个图片可以用循环:
String type = file.getFileExt();// 得到图片后缀名
String folder = "tp/";// 指定文件夹
String path = folder + time + "." + type;// 路径
System.out.println(path + "路径");
file.saveAs(request.getRealPath("/") + path);// 保存图片
} catch (Exception e) {
e.printStackTrace();
}
//你搞个邮箱我把SmartUploadjar包 发给你吧。 //设置from提交
/*form action="SellerServet" method="post"
enctype="multipart/form-data"*/ // 加上 enctype="multipart/form-data
通过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
注: 这个是很久以前在网上看到的,就整理了下来,但是这么久都没用过,所以也没调试过,你自己试一试研究研究, 再来网上很多博客里,他们写的很详细的,可以去看看