resty upload无需依赖的文件上传与下载

 更新时间:2022年03月07日 15:02:41   作者:dreampie  
这篇文章主要为大家介绍了resty upload中无需依赖的文件上传与下载过程,有需要的朋友可以借鉴参考下,希望能够有所帮助祝大家多多进步,早日升职加薪

1. 文件上传

a. 看看@FIEL注解的属性

/**
 * 上传文件时使用该注解 设置文件相关参数
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@Documented
public @interface FILE {
  String dir() default "";//文件上传的目录
  boolean overwrite() default false;//遇到同名文件是否覆盖,适合客户端控制文件名
  Class<? extends FileRenamer> renamer() default DefaultFileRenamer.class;//对文件名字进行重命名处理
  int max() default -1;//上传的大小限制,默认最大10M
  String encoding() default "";//文件编码格式
  String[] allows() default {}; //file content type eg. text/xml 允许上传的文件类型
}

b. 在application.properties设置上传的默认值

app.uploadDirectory=/upload/
#单位为b 如10M=1024*1024*10
app.uploadMaxSize= n
#拒绝上传的文件mime类型多个逗号分割
app.uploadDenieds=text/xml,text/csv

c. 在服务端使用@FILE注解来接收文件流数据

//上传文件
@POST
@FILE(dir="文件上传目录",overwrite=同名是否覆盖<适合客户端控制文件名>,renamer=继承FileRenamer class的对文件重命名的工具类 ,max=上传文件最大限制默认10m,encoding="文件编码",allows={"允许上传的文件类型如:text/xml"})
public UploadedFile upload(String filename, UploadedFile testfile, String des) {
    //注意UploadedFile  参数的名字 需要和input的name对应
    //如 <input type="file" name="x"> 用UploadedFile x来接收文件
    //如果上传多个文件,使用Map<String,UploadedFile> files来接收所有的文件,key为input的name x
    System.out.println(des);
    return testfile;
}

2. 文件下载

a. 直接通过return file来向客户端输出文件

//下载文件 支持断点续传
@GET
public File download() {
    return new File(getRequest().getRealPath("/") + "upload/resty.jar");
}

以上就是resty upload无需依赖的文件上传与下载的详细内容,更多关于resty upload无依赖文件上传下载的资料请关注脚本之家其它相关文章!

相关文章

  • 深入理解Java并发编程之ThreadLocal

    深入理解Java并发编程之ThreadLocal

    本文主要介绍了Java并发编程之ThreadLocal,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • java中hashCode方法与equals方法的用法总结

    java中hashCode方法与equals方法的用法总结

    总的来说,Java中的集合(Collection)有两类,一类是List,再有一类是Set。前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复
    2013-10-10
  • Spring MVC Mybatis多数据源的使用实例解析

    Spring MVC Mybatis多数据源的使用实例解析

    项目需要从其他网站获取数据,因为是临时加的需求,这篇文章主要介绍了Spring MVC Mybatis多数据源的使用实例解析,需要的朋友可以参考下
    2016-12-12
  • java学生信息管理系统设计(2)

    java学生信息管理系统设计(2)

    这篇文章主要为大家详细介绍了java学生信息管理系统设计,学生信息添加进入数据库的事务,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • springboot整合netty过程详解

    springboot整合netty过程详解

    这篇文章主要介绍了springboot整合netty过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Java循环队列原理与用法详解

    Java循环队列原理与用法详解

    这篇文章主要介绍了Java循环队列原理与用法,结合实例形式详细分析了Java循环队列基本概念、原理、用法及操作注意事项,需要的朋友可以参考下
    2020-03-03
  • MyBatis如何通过拦截修改SQL

    MyBatis如何通过拦截修改SQL

    这篇文章主要介绍了MyBatis如何通过拦截修改SQL问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Java设计模式详解之门面模式(外观模式)

    Java设计模式详解之门面模式(外观模式)

    为子系统中的一组接口提供一个一致的界面, Facade 模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。本文给大家介绍Java设计模式详解之门面模式(外观模式),感兴趣的朋友参考下吧
    2016-04-04
  • IDEA如何加载resources文件夹下文件相对路径

    IDEA如何加载resources文件夹下文件相对路径

    这篇文章主要介绍了IDEA如何加载resources文件夹下文件相对路径问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • kafka topic 权限控制(设置删除权限)

    kafka topic 权限控制(设置删除权限)

    大家都知道Kafka是一个消息队列,把消息放到队列里边的叫生产者,从队列里边消费的叫消费者。今天通过本文给大家介绍kafka topic 权限控制的相关知识,感兴趣的朋友一起看看吧
    2021-11-11

最新评论