resty upload無(wú)需依賴的文件上傳與下載
更新時(shí)間:2022年03月07日 15:02:41 作者:dreampie
這篇文章主要為大家介紹了resty upload中無(wú)需依賴的文件上傳與下載過(guò)程,有需要的朋友可以借鑒參考下,希望能夠有所幫助祝大家多多進(jìn)步,早日升職加薪
1. 文件上傳
a. 看看@FIEL注解的屬性
/**
* 上傳文件時(shí)使用該注解 設(shè)置文件相關(guān)參數(shù)
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@Documented
public @interface FILE {
String dir() default "";//文件上傳的目錄
boolean overwrite() default false;//遇到同名文件是否覆蓋,適合客戶端控制文件名
Class<? extends FileRenamer> renamer() default DefaultFileRenamer.class;//對(duì)文件名字進(jìn)行重命名處理
int max() default -1;//上傳的大小限制,默認(rèn)最大10M
String encoding() default "";//文件編碼格式
String[] allows() default {}; //file content type eg. text/xml 允許上傳的文件類型
}
b. 在application.properties設(shè)置上傳的默認(rèn)值
app.uploadDirectory=/upload/ #單位為b 如10M=1024*1024*10 app.uploadMaxSize= n #拒絕上傳的文件mime類型多個(gè)逗號(hào)分割 app.uploadDenieds=text/xml,text/csv
c. 在服務(wù)端使用@FILE注解來(lái)接收文件流數(shù)據(jù)
//上傳文件
@POST
@FILE(dir="文件上傳目錄",overwrite=同名是否覆蓋<適合客戶端控制文件名>,renamer=繼承FileRenamer class的對(duì)文件重命名的工具類 ,max=上傳文件最大限制默認(rèn)10m,encoding="文件編碼",allows={"允許上傳的文件類型如:text/xml"})
public UploadedFile upload(String filename, UploadedFile testfile, String des) {
//注意UploadedFile 參數(shù)的名字 需要和input的name對(duì)應(yīng)
//如 <input type="file" name="x"> 用UploadedFile x來(lái)接收文件
//如果上傳多個(gè)文件,使用Map<String,UploadedFile> files來(lái)接收所有的文件,key為input的name x
System.out.println(des);
return testfile;
}
2. 文件下載
a. 直接通過(guò)return file來(lái)向客戶端輸出文件
//下載文件 支持?jǐn)帱c(diǎn)續(xù)傳
@GET
public File download() {
return new File(getRequest().getRealPath("/") + "upload/resty.jar");
}以上就是resty upload無(wú)需依賴的文件上傳與下載的詳細(xì)內(nèi)容,更多關(guān)于resty upload無(wú)依賴文件上傳下載的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
java中hashCode方法與equals方法的用法總結(jié)
總的來(lái)說(shuō),Java中的集合(Collection)有兩類,一類是List,再有一類是Set。前者集合內(nèi)的元素是有序的,元素可以重復(fù);后者元素?zé)o序,但元素不可重復(fù)2013-10-10
Spring MVC Mybatis多數(shù)據(jù)源的使用實(shí)例解析
項(xiàng)目需要從其他網(wǎng)站獲取數(shù)據(jù),因?yàn)槭桥R時(shí)加的需求,這篇文章主要介紹了Spring MVC Mybatis多數(shù)據(jù)源的使用實(shí)例解析,需要的朋友可以參考下2016-12-12
java學(xué)生信息管理系統(tǒng)設(shè)計(jì)(2)
這篇文章主要為大家詳細(xì)介紹了java學(xué)生信息管理系統(tǒng)設(shè)計(jì),學(xué)生信息添加進(jìn)入數(shù)據(jù)庫(kù)的事務(wù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11
Java設(shè)計(jì)模式詳解之門(mén)面模式(外觀模式)
為子系統(tǒng)中的一組接口提供一個(gè)一致的界面, Facade 模式定義了一個(gè)高層接口,這個(gè)接口使得這一子系統(tǒng)更加容易使用。本文給大家介紹Java設(shè)計(jì)模式詳解之門(mén)面模式(外觀模式),感興趣的朋友參考下吧2016-04-04
IDEA如何加載resources文件夾下文件相對(duì)路徑
這篇文章主要介紹了IDEA如何加載resources文件夾下文件相對(duì)路徑問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
kafka topic 權(quán)限控制(設(shè)置刪除權(quán)限)
大家都知道Kafka是一個(gè)消息隊(duì)列,把消息放到隊(duì)列里邊的叫生產(chǎn)者,從隊(duì)列里邊消費(fèi)的叫消費(fèi)者。今天通過(guò)本文給大家介紹kafka topic 權(quán)限控制的相關(guān)知識(shí),感興趣的朋友一起看看吧2021-11-11

