首页 > 编程知识 正文

上传下载图片代码jsp,上传图片的代码

时间:2023-12-26 12:11:38 阅读:322658 作者:VEUJ

本文目录一览:

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

注: 这个是很久以前在网上看到的,就整理了下来,但是这么久都没用过,所以也没调试过,你自己试一试研究研究, 再来网上很多博客里,他们写的很详细的,可以去看看

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。