zoukankan      html  css  js  c++  java
  • struts2从浅至深(五)上传与下载

    1.编写上传页面

    2.编写动作方法

    import java.io.File;
    import java.io.IOException;

    import javax.servlet.ServletContext;

    import org.apache.commons.io.FileUtils;
    import org.apache.struts2.ServletActionContext;

    import com.opensymphony.xwork2.ActionSupport;

    public class upload1Action extends ActionSupport{
    //表单上提供的字段
    private String username;
    private File photo;
    //struts2在文件上传时提供的属性
    private String photoFileName;//上传的文件名。上传字段名称+FileName 注意大小写
    private String photoContentType;//上传文件的MIME类型。上传字段名称+ContentType 注意大小写

    public String getUsername() {
    return username;
    }

    public void setUsername(String username) {
    this.username = username;
    }

    public File getPhoto() {
    return photo;
    }

    public void setPhoto(File photo) {
    this.photo = photo;
    }

    public String getPhotoFileName() {
    return photoFileName;
    }

    public void setPhotoFileName(String photoFileName) {
    this.photoFileName = photoFileName;
    }

    public String getPhotoContentType() {
    return photoContentType;
    }

    public void setPhotoContentType(String photoContentType) {
    this.photoContentType = photoContentType;
    }

    public String upload(){
    //1.拿到ServletContext
    ServletContext application = ServletActionContext.getServletContext();
    //2.调用realPath方法,获取根据一个虚拟目录得到的真实目录
    String filePath = application.getRealPath("/WEB-INF/file");
    //3.如果这个真实的目录不存在,需要创建
    File file = new File(filePath);
    if(!file.exists()){
    file.mkdirs();
    }
    //4.把photo存过去
    //拷贝:把photo的临时文件复制到指定的位置。注意:临时文件还在
    //FileUtils.copyFile(photo, new File(file,photoFileName));

    //剪切:把临时文件剪切指定的位置,并且给他重命名。 注意:临时文件没有了
    photo.renameTo(new File(file,photoFileName));

    return null;
    }



    }

    3.配置struts

      实现上传文件

                 注意:上传的文件会在tomcat文件夹下  不是在你项目所在的地方   也就是服务器的位置

    在上传的过程总会遇到文件的类型、文件大小等问题

                   所以我们得做约束

            约束文件类型

                               

                                 在过滤器中添加类型

                 约束文件大小

                        

                     如果大于50k就会报错

             

  • 相关阅读:
    P1194 买礼物(建模)
    024 Android 对话框(AlertDialog)的应用(与Android黑马培训班的024相对照学习)
    023 Android 滚动视图(ScollView)
    022 Android 开源项目使用指南
    021 Android 日历视图(Calendarview)
    020 ProgressBar(进度条)、SeekBar(拖动条)与星级评分条(RatingBar)
    019 Android 程序调试技巧汇总
    018 Android 单选按钮(RadioButton)和复选框(CheckBox)的使用
    017 Android ToggleButton(开关函数)与switch (开关按钮)
    016 Android Toast语句应用
  • 原文地址:https://www.cnblogs.com/fjkgrbk/p/6275844.html
Copyright © 2011-2022 走看看