關於下載的檔名編碼問題

[ 3320 View / 1 Reply ]

下載(/webrelay/directdownload/)  <---  請問這個回傳回來的檔名(filename) 是用什麼編碼的?
本來叫 喜羊羊.jpg 變成 喜羊羊.jpg ?
有人知道如何解決嗎?還是執行上編碼有問題?
TOP

您好,

請問您使用的是什麼程式語言?

如果您使用的是Java,提供您範例程式碼中提到的下載寫法(創意雲網站中可下載):
  1. /* Downloading file to computer */
  2.         String name = connection.getHeaderField("Content-Disposition").substring(22, connection.getHeaderField("Content-Disposition").length()-1);// Get downloading filename
  3.        
  4.         FileOutputStream fo = new FileOutputStream("D:\\" + name);
  5.         try {
  6.             IOUtils.copy(connection.getInputStream(), fo);
  7.             fo.close();
  8.             System.out.println(" --- FINISH DOWNLOAD FILE --- \n");
  9.         } catch (IOException e) {
  10.             e.printStackTrace();
  11.             System.err.println("Get Download File Error:" + e.getMessage());
  12.         } finally {
  13.             connection.disconnect();
  14.         }
复制代码
或者是另一個方法供您參考使用,您可以在request payload中輸入rn參數:

rn    = { 將上傳之檔案的檔名重新命名(rename)為此參數指定的檔案名稱 }
<!-- 選擇性欄位。此字串須依序以Base64及URL encode進行編碼。
例如:欲將下載檔案易名為Naomi_PhotoShop_Tutorial.mov。
Raw flie name:Naomi_PhotoShop_Tutorial.mov
對Raw flie name的編碼步驟:
1.    Base64:TmFvbWlfUGhvdG9TaG9wX1R1dG9yaWFsLm1vdg==
2.    URL encode:TmFvbWlfUGhvdG9TaG9wX1R1dG9yaWFsLm1vdg%3D%3D
故設 rn=TmFvbWlfUGhvdG9TaG9wX1R1dG9yaWFsLm1vdg%3D%3D

※    若您使用的開發語言為Ruby,請用Base64.strict_encode64,避免“\n”在編碼之後出現。 -->


上述參數說明可查詢從技術文件(WebRelayTechnicalSpec.docx)
以上建議,如仍有問題歡迎您隨時發問,謝謝
TOP