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>


  • 相关阅读:
    策略梯度(Policy Gradient)
    无约束优化问题
    有约束优化问题
    计算机网络学习资料
    为什么要用等效基带信号?
    通信网实验—话务量分析
    无感数据埋点(自定义注解+aop+异步)
    排序算法
    位运算常见操作
    数据库与缓存一致性的几种实现方式
  • 原文地址:https://www.cnblogs.com/xiashiwendao/p/3137526.html
Copyright © 2011-2022 走看看