zoukankan      html  css  js  c++  java
  • Java的上传文件

    1. annotations are only available if source level is 5.0

    Project->Properties->Java Compiler->取消勾选 "enable project sepecific settings", 点击"Configure Workspace settings…"->Compiler Compliance Level选择5.0或者以上的jdk版本,搞定。

    2. The public type FileUploadAction111 must be defined in its own file

    类名称和文件名称不一致。

        在MyEclips环境下,java类文件只要保存就会进行编译,而不需要进行额外编译操作。

    3. 自动生成getter,setter

    方式一:右键->source->Generate setter and getter;

    方式二:Ctrl+Shift+S->Generate setter and getter;

    4. 文件上传

    1.jsp文件的form一定要添加

    <s:form action="myUserInfo/FileUpload" enctype="multipart/form-data">

    2.getUploadFileName的方法返回的是一个包含了指定上传文件夹的路径,而不是文件名称。比如你在struts里面指定<param name="savePath">/upload</param>,那么getUploadFileName返回的就是D:\JavaSpace\HelloWorld\WebRoot\upload,至于文件名就需要自己来起了,这个地方可能有问题,还有待研究,因为至少应该还有地方能偶获取到上传的文件名称,现在使用File对象的getName返回的“upload__74d3cd57_13f45fcf15f__8000_00000000.tmp”,这个不能作为名称了。

    3.思路:

    首先是后台需要完成保存流的程序以及相应的属性的定义(get/setUploadFileName,get/setUpload,get/setSavePath)。

        @Override
    public String execute() throws Exception{
    FileOutputStream fos = new FileOutputStream(this.getUploadFileName() + "\\" + this.upload.getName());
    FileInputStream fis = new FileInputStream(this.getUpload());
    byte[] buff = new byte[1024];
    int len = 0;
    while((len = fis.read(buff)) > 0){
    fos.write(buff, 0, len);
    }

    fos.close();
    return SUCCESS;
    }
        private String getSavePath() throws Exception 
    {
    return ServletActionContext.getServletContext()
    .getRealPath(savePath);
    }

    接着是配置文件需要指定上传的路径(savePath的定义,在后台需要写相应的读取定义(如上所示getSavePath):

           <action name="FileUpload" class="mySpace.FileUploadAction">
    <param name="savePath">/upload</param>
    <result name="success">/helloWorld.jsp</result>
    <result name="input">/Error.jsp</result>
    </action>

    最后就是前台需要的声明form要发送二进制流以及File控件:

        <s:form action="myUserInfo/FileUpload" enctype="multipart/form-data">
    <s:file name="upload" label="选择文件"/>
    <s:submit value="提交"/>
        </s:form>


  • 相关阅读:
    【iCore4 双核心板_FPGA】例程八:乘法器实验——乘法器使用
    【iCore4 双核心板_ARM】例程十一:DMA实验——存储器到存储器的传输
    【iCore1S 双核心板_FPGA】例程八:触发器实验——触发器的使用
    【iCore4 双核心板_ARM】例程十:RTC实时时钟实验——显示时间和日期
    【iCore4 双核心板_ARM】例程九:ADC实验——电源监控
    WebBrowser的Cookie操作之流量刷新机
    网站受攻击的常用手段
    八爪鱼招标网的百度权重升为2了,独立IP也从0快速发展为1000
    网站添加数据出错,原来是MS SQL Server2008日志文件占据空间过大导致的
    当你的网站被疯狂攻击时你能做什么?
  • 原文地址:https://www.cnblogs.com/xiashiwendao/p/3137526.html
Copyright © 2011-2022 走看看