温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

resty upload怎么实现无需依赖的文件上传与下载

发布时间:2022-03-07 16:38:55 来源:亿速云 阅读:155 作者:iii 栏目:开发技术

这篇文章主要介绍“resty upload怎么实现无需依赖的文件上传与下载”,在日常操作中,相信很多人在resty upload怎么实现无需依赖的文件上传与下载问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”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怎么实现无需依赖的文件上传与下载”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI