1. 文件上传
a. 看看@FIEL注解的属性
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
/** * 上传文件时使用该注解 设置文件相关参数 */ @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设置上传的默认值
1
2
3
4
5
|
app.uploadDirectory=/upload/ #单位为b 如10M= 1024 * 1024 * 10 app.uploadMaxSize= n #拒绝上传的文件mime类型多个逗号分割 app.uploadDenieds=text/xml,text/csv |
c. 在服务端使用@FILE注解来接收文件流数据
1
2
3
4
5
6
7
8
9
10
|
//上传文件 @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来向客户端输出文件
1
2
3
4
5
|
//下载文件 支持断点续传 @GET public File download() { return new File(getRequest().getRealPath( "/" ) + "upload/resty.jar" ); } |
以上就是resty upload无需依赖的文件上传与下载的详细内容,更多关于resty upload无依赖文件上传下载的资料请关注服务器之家其它相关文章!
原文链接:https://dreampie.gitbooks.io/resty-chs/content/file.html