溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

resty?upload怎么實現(xiàn)無需依賴的文件上傳與下載

發(fā)布時間:2022-03-07 16:38:55 來源:億速云 閱讀:147 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“resty upload怎么實現(xiàn)無需依賴的文件上傳與下載”,在日常操作中,相信很多人在resty upload怎么實現(xiàn)無需依賴的文件上傳與下載問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”resty upload怎么實現(xiàn)無需依賴的文件上傳與下載”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

1. 文件上傳

a. 看看@FIEL注解的屬性

/**
 * 上傳文件時使用該注解 設(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;//對文件名字進行重命名處理
  int max() default -1;//上傳的大小限制,默認最大10M
  String encoding() default "";//文件編碼格式
  String[] allows() default {}; //file content type eg. text/xml 允許上傳的文件類型
}

b. 在application.properties設(shè)置上傳的默認值

app.uploadDirectory=/upload/
#單位為b 如10M=1024*1024*10
app.uploadMaxSize= n
#拒絕上傳的文件mime類型多個逗號分割
app.uploadDenieds=text/xml,text/csv

c. 在服務(wù)端使用@FILE注解來接收文件流數(shù)據(jù)

//上傳文件
@POST
@FILE(dir="文件上傳目錄",overwrite=同名是否覆蓋<適合客戶端控制文件名>,renamer=繼承FileRenamer class的對文件重命名的工具類 ,max=上傳文件最大限制默認10m,encoding="文件編碼",allows={"允許上傳的文件類型如:text/xml"})
public UploadedFile upload(String filename, UploadedFile testfile, String des) {
    //注意UploadedFile  參數(shù)的名字 需要和input的name對應(yīng)
    //如 <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來向客戶端輸出文件

//下載文件 支持斷點續(xù)傳
@GET
public File download() {
    return new File(getRequest().getRealPath("/") + "upload/resty.jar");
}

到此,關(guān)于“resty upload怎么實現(xiàn)無需依賴的文件上傳與下載”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI