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

  • Post author:
  • Post category:java


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点半了。困了。先睡了。

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



版权声明:本文为weixin_42511024原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。