jsp如何显示ftp服务器的图片,Jsp页面上传图片和缩略图查看

关于Jsp页面上传图片和缩略图查看

主要分为两部分:

第一,图片的上传,图片保存在ftp服务器里(也可以是对应的项目文件夹下需要相对应的修改)

第二,上传后,我们通过点击页面的缩略图查看原图

关于图片的上传操作:

1.在附件上传页面引入验证js:

//导入验证js

然后在我们的form表单中修改属性,新增附近上传元素

附件:

以上代码可直接拷到jsp中使用,部分属性改一下就行了。

2、Action层:

附件涉及的变量:

private String error; //错误信息提示属性

private TblSpisCorpInstancyCaseFj ruleFj; //自定义的附近pojo

private File fj; //附件对象

保存或者更新附件信息的方法体内填入以下代码:

if (fj != null){

String check = CheckFile.getFileByFile(fj); //主要是验证附件的格式,比如:jpg .gif .png .bmp等格式

if (check!=null&&!"".equals(check)) {

String tem_path = Util.FTP_FOLDER+File.separator+Util.WARD_PHOTO;

String xdpath = Util.FTP_FOLDER+File.separator+Util.WARD_PHOTO;

String file_Name = UploadFTP.copyFTP( this.getFj(),tem_path,"jpg",(sessionUser.getId()).toString());

ruleFj.setCorpInstancyCaseFjPath(xdpath + File.separator + (sessionUser.getId()).toString()+File.separator + file_Name );

ruleFj.setCorpInstancyCaseFjName(file_Name);

ruleFj.setCreateTime(new Timestamp(System.currentTimeMillis()));

ruleFj.setCorpInstancyCaseFjType("2");

}else{

this.setCaseObj(caseObj);

error= "文件格式不对";

return addCaseInfo();

}

}

缩略图查看原图

需要在Jsp查看附件页面新增:

附件:

JpgShow.jsp?path=%24%7BruleFj.corpInstancyCaseFjPath%20%7D

暂无附件信息

gt;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
package ftp; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.ServletException; import java.io.FileInputStream; import java.io.IOException; import sun.net.TelnetOutputStream; import sun.net.ftp.FtpClient; public class MainCtrl extends HttpServlet { private FtpClient ftpClient; public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html; charset=UTF-8"); try { //连接ftp服务器 connectServer("10.10.1.2", "zz3z2008", "zz3z2008", "upftp"); //上传文件;并返回上传文件的信息 req.setAttribute("inf", upload(req.getParameter("file_name"))); } catch (Exception e) { System.out.println(e.toString()); req.setAttribute("inf", e.toString()); req.getRequestDispatcher("view_inf.jsp").forward(req, resp); return; } finally { if (ftpClient != null) { ftpClient.closeServer(); } } req.getRequestDispatcher("view_inf.jsp").forward(req, resp); } public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); } //连接ftp服务器 private void connectServer(String server, String user, String password, String path) throws IOException { // server:FTP服务器的IP地址;user:登录FTP服务器的用户名 // password:登录FTP服务器的用户名的口令;path:FTP服务器上的路径 ftpClient = new FtpClient(); ftpClient.openServer(server); ftpClient.login(user, password); //path是ftp服务下主目录的子目录 if (path.length() != 0) ftpClient.cd(path); //用2进制上传 ftpClient.binary(); } //上传文件;并返回上传文件的信息 private String upload(String filename) throws Exception { TelnetOutputStream os = null; FileInputStream is = null; try { //"upftpfile"用ftp上传后的新文件名 //os = ftpClient.put("upftpfile"); os = ftpClient.put("MainCtrl.zip"); java.io.File file_in = new java.io.File(filename); if (file_in.length()==0) { return "上传文件为空!"; } is = new FileInputStream(file_in); byte[] bytes = new byte[1024]; int c; while ((c = is.read(bytes)) != -1) { os.write(bytes, 0, c); } } finally { if (is != null) { is.close(); } if (os != null) { os.close(); } } return "上传文件成功!"; } } 文件2:upftp.htm(前台操作页面)内容如下: <html><body> <form action="/ftp/testFtp" method="post"> <input name="file_name" size="38" type="text" value="C:\\java\\MainCtrl.zip" /> <input type="submit" /> </form> </body> </html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值