AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 内蒙古时时彩平台 > JAVA编程

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

内蒙古时时彩平台 2015-09-03 //www.3rmtj.cn

原帖及讨论://bbs.bccn.net/thread-207313-1-1.html

因为毕业设计需要,今天晚上看了看Struts1.3中的FormFile机制。顺便从网上看了看如何在上传后直接在页面中显示刚传上的图片。 总结下,顺便分享下。先声明,我还是学习阶段,有哪些地方做得不很好欢迎指正批评?。?!互相校习嘿
我用的是MyEclipse6.0.1和Tomcat6(具体记不得了)
首先自己建立了一个Upload的工程。添加struts1.3支持。。。。。废话不说了啊。直接代码

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

<%@ page language="java" pageEncoding="gbk"%>

<%@ taglib uri="//struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="//struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="//struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="//struts.apache.org/tags-tiles" prefix="tiles" %>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html lang="true">
  <head>
    <html:base />
   
    <title>图片上传</title>

    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">   
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="时时彩投注技巧包赢:This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->

  </head>
  
  <body>
      清选择需要上传图片:
      <html:form action="upload.do" method="post" enctype="multipart/form-data">
    <html:text property="name"></html:text>
    <html:file property="pic"></html:file>
    <html:submit value="上传"></html:submit><br/>
    <html:errors/>
    </html:form>
    <img alt= " "  src="${files }" />    <!--注意这里用力一个EL语句而且这里的files是在request中的,而且这  个"files"路径只能是“图片所在的文件夹/图片名称”这个文件夹必须和WEB-INF是并列的(在csdn上一个帖子上看到的)。比如我就在我的工程下建立了一个"upload"文件夹。 上传的文件名称为sonw.bmp然后这里src="upload/snow.bmp"-->
                      <br/>
  </body>
</html:html>

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

action的代码贴一下吧。

//包名
package com.llb.struts.action;

//引入。。。不说废话了
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

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点半了。困了。先睡了。
希望对大家能有帮助?。?!

 

 

 
说明
:本教程来源互联网或网友上传或出版商,仅为学习研究或媒体推广,www.3rmtj.cn不保证资料的完整性。
 
上一篇:Java与.NET&nbsp;谁才能主宰未来?  下一篇:从网页源文件中得到链接
  • 王国平应邀为杭州市农村历史建筑保护研讨会作专题讲座 2019-04-21
  • 中国这次强硬反击,传递了四个意味深长的信号! 2019-04-18
  • 黄紫昌独造5球给出最好榜样 张玉宁确定不回国吗? 2019-04-18
  • 特朗普是个典型的笑面虎,当面笑嘻嘻,底下捅刀子 2019-04-08
  • 过端午节要有“三味” 2019-04-08
  • 从拍场“老面孔”论投资的风险和机遇 2019-04-02
  • 5月份61城房价环比反弹 多地调控政策或再加码 ——凤凰网房产北京 2019-04-01
  • 因为中国人最朴素的观念就是安居乐业。家,是人立身之地,是所有努力可以得到支撑的基础,是所有固守能够成功反击的前提。这是游牧民族永远干不动搞不定这个民族的原因。它 2019-04-01
  • 回复@笑傲江湖V:七千二百多吧。 2019-03-30
  • 次仁卓玛一家的端午节 2019-03-30
  • 北欧的千湖之国被选为2018全球最幸福国家 2019-03-25
  • 东鹏控股拟发行1.5亿A股,二次上市进程加快 2019-03-23
  • 筑梦命运共同体 习近平的上合日历 2019-03-22
  • 劳动者能不能炒老板的鱿鱼?答案是不能 2019-03-20
  • 《今天我学习》第一集:如何理解党的十九大的鲜明主题 2019-03-18
  • 650| 156| 912| 409| 771| 256| 382| 141| 543| 188|