文件上传与下载(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;
String encoding() default "";
String[] allows() default {};
}
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) {
System.out.println(des);
return testfile;
}
2. 文件下载
a. 直接通过return file来向客户端输出文件
@GET
public File download() {
return new File(getRequest().getRealPath("/") + "upload/resty.jar");
}