jsp页面显示多张FTP上图片

1.通过后台查询,查找相应图片个数返回到前台,如下<%=fileDatalist%>为后台返回的图片数组
<ul>
        <c:forEach var="ite" items="<%=fileDatalist%>">
            <li><img class="imgs" src="<%=basePath%>pro/table1/${ite}"></li>
        </c:forEach>

</ul>
2 通过img标签的src传递参数(图片路径)到后台并返回图片文件流到前台
FtpLoader n=new FtpLoader();//连接FTp服务器方法
InputStream instream=null;
instream= n.getFileStream(realpath);
OutputStream outputStream=response.getOutputStream();
byte[] data = new byte[1024*1024];
int nt=0;
while((nt=instream.read(data))!=-1)
{
    outputStream.write(data, 0, nt);//输出到指定文件
}
outputStream.flush();
instream.close();
outputStream.close();
return null;

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、付费专栏及课程。

余额充值