將檔案上傳到外部

information

本頁面使用機器翻譯而成。
機器翻譯免責聲明 (External link)

目錄

將檔案上傳到外部

從kintone上傳檔案到外部服務。
此API允許您繞過跨域限制並向外部服務發送請求。

函數

電腦版/行動裝置版

kintone.proxy.upload(url, method, headers, data, successCallback, failureCallback)

參數

參數 類型 必須 說明
url 字串 必須 請求URL
method 字串 必須 HTTP方法
指定以下值之一:
  • POST
  • PUT
headers 物件 必須 請求標頭
例:
{
"Content-Type": "application/json"
}
如果不指定任何內容,請指定{}
data 物件或字串 必須 請求正文
data.format 字串 必須 要上傳的檔案的格式
只能指定「RAW」。
data.value Blob類型(包括檔案類型) 必須 要上傳的文件中的數據
可指定的最大大小為200MB。
successCallback 函數 可省略 請求完成時執行的回調函數
以下資訊將傳遞給回調函數的參數:
  • 第一個引數:回應正文(字串)
  • 第二個引數:狀態代碼(數值)
  • 第三個引數:回應標頭(物件)
如果省略,則返回Promise物件,並將其解析為包含回應正文、狀態代碼和回應標頭的陣列。
failureCallback 函數 可省略 請求失敗時執行的回調函數
如果省略,返回Promise物件,並會在代理API的回應正文(字串)中廢棄。

返回值

如果指定successCallback,則沒有返回值。
如果省略參數successCallback,則返回Promise物件。

示例代碼

如何使用回調進行編寫
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
constblob = newBlob(['這是一個測試文件'], {
  type: 'text/plain',
});
const data = {
  format: 'RAW',
  value: blob
};

kintone.proxy.upload('https://api.example.com', 'POST', {}, data, (body, status, headers) => {
  // success
  console.log(status, JSON.parse(body), headers);
}, (error) => {
  // error
  console.log(error); // 顯示代理API的回應內文(字串)
});
使用Promise物件的編寫方法
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
(async () => {
  constblob = newBlob(['這是一個測試文件'], {
    type: 'text/plain',
  });
  const data = {
    format: 'RAW',
    value: blob
  };
  try {
    const resp = await kintone.proxy.upload('https://api.example.com', 'POST', {}, data);
    // success
    console.log(resp);
  } catch (error) {
  // error
    console.log(error);
  }
})();

注意事項

  • 如果指定的伺服器url不存在,則返回狀態代碼為「503」(DNS Cache Missing)的錯誤。
  • 如果設置了IP位址限制,要使用該JavaScript API為同一域的其他應用執行kintone REST API,則必須允許kintone的IP位址。
    有關詳細的IP地址,請參閱以下頁面。
    cybozu.com使用的域和IP位址 (External link)
    但是,從安全角度來看,不建議這樣做,因為它允許通過執行外部API的API從所有kintone環境自由訪問。
  • 即使您使用此API執行外部API,也不會自動發出應由執行的API目標發出的cookie。
  • 如果為HTTP方法指定POST或PUT,則會自動追加「Content-Length」和「Transfer-Encoding」標頭。
    如果在請求裡指定,則會出現錯誤。
  • 可以使用的「Content-Type」沒有限制。

限制事項

  • 以下是對執行的外部API回應的限制:
    • 響應標頭的最大為100行,每行的最大長度為8,180位元組。
    • 回應正文的上限為10MB。如果超過限制,則會發生錯誤。
    • 回應正文僅支援字串。無法獲取二進位數據,例如圖像。
  • 不能使用自證書與伺服器通信。
  • 目標瀏覽器基於以下頁面的內容。
    操作環境中的Web瀏覽器 (External link)