java 上传图片后没法立马显示出来_Struts1.3中图片上传后直接显示

本文介绍如何在Struts1.3框架中实现图片上传,并在上传后立即在网页上显示该图片。文章提供了从创建项目、配置Struts支持到编写JSP页面、FormFile使用及Action处理等全过程的详细步骤。

Struts1.3中图片上传后直接显示

因为毕业设计需要,今天晚上看了看Struts1.3中的FormFile机制。顺便从网上看了看如何在上传后直接在页面中显示刚传上的图片。 总结下,顺便分享下。先声明,我还是学习阶段,有哪些地方做得不很好欢迎指正批评啊!!互相校习嘿

我用的是MyEclipse6.0.1和Tomcat6(具体记不得了)

首先自己建立了一个Upload的工程。添加struts1.3支持。。。。。废话不说了啊。直接代码

建立一个upload.jsp页面 代码如下:

21c92f7342edc52acb5684b0b88bdcec.png程序代码:

图片上传

清选择需要上传图片:

建立于此jsp对应的form于action   具体form代码我就不贴了。不难。里面也没什么东西。只有这一点:       private FormFile pic; 和它的geter & seter在action中要用到。这是得到上传文件的途径。

action的代码贴一下吧。

21c92f7342edc52acb5684b0b88bdcec.png程序代码://包名

package com.llb.struts.action;

//引入。。。不说废话了

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionForward;

import org.apache.struts.action.ActionMapping;

import org.apache.struts.upload.FormFile;

import com.llb.struts.form.UploadForm;

public class UploadAction extends Action {

public ActionForward execute(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response) {

UploadForm uploadForm = (UploadForm) form; //从uploadform中得到定义的一个

FormFile ff = uploadForm.getPic(); //从uploadform中得到定义的一个pic

//定义自己的穿到服务器的文件名。第二个+后面是得到的文件后缀名。

String filename = uploadForm.getName() + "."

+ (ff.getFileName().split("\\.")[1]);

//得到要上传到的绝对路径,比如: D:\tomcat6\webapps\Upload\upload

String path = this.getServlet().getServletContext().getRealPath("/") + "upload\\";

//这是为在页面上显示此图片定义的相对路径吧应该是。这里得到的是 "upload/图片文件名"

String files = "upload/" + filename;

//将相对路径写入request里面以便在Forward之后用EL来调用

request.setAttribute("files", files);

try {

//下面是上传文件的具体写入:都是IO不用多说了

OutputStream os = new FileOutputStream(new File(path + filename));

byte b[] = ff.getFileData(); //这里的ff是从form得来的要上传的文件

os.write(b);

os.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

return mapping.getInputForward();

}

}

}

剩下的都没什么了。我没有写验证。先实现了再说。呵呵,回头毕业设计里再加上吧。

快4点半了。困了。先睡了。

希望对大家能有帮助啊!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值