0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Workatoで任意のURLに対してファイルのダウンロードとアップロードを行うには

Posted at

ファイルのダウンロード

HTTPコネクターを追加し、以下の通り設定を行います。
image.png

入力値

※以下に無い項目はデフォルトのままとします

項目
Request name アクション名(任意の名称)
Method HTTP HTTPリクエストメソッドを指定(GET,POST,PUTなど)
Request URL ダウンロード先URLを指定
Response content type Binary

戻り値

項目
headers レスポンスヘッダー
response レスポンスボディ ※ダウンロードファイルのバイナリデータが返されます
Status code HTTPステータスコード
Error エラーメッセージ
Body レスポンスボディ (responseと同じ)

参考情報

ファイルのアップロード

Rubyコネクターでファイルのアップロードが可能です。

image.png

入力値

※以下に無い項目はデフォルトのままとします

項目
Name アクション名(任意の名称)
url アップロード先URL(POST/PUT先となるURL)
method HTTPメソッド(postまたはput)※大文字小文字どちらでもOK
data アップロードデータ(バイナリデータ等)
values POST引数(2次元のJSONテキストをセットする)

コード

# 初期化および引数を変数に代入
res = {}
url = input['url']
data = input['data']
method = input['method']
file_name = input['file_name']
values = input['values']
 
# パラメータ設定(アップロードファイル)
params  = {
  file: [
    data,
    'application/octet-stream',
    file_name
  ]
}
 
# valuesがセットされている場合の処理
# input['values']はJSONがセットされる想定
if values.present? 
  values_json_parsed = parse_json(values)
  params = params.merge(values_json_parsed)
end
 
if method.downcase == 'post'
  # POSTリクエスト
  res = post(url)
    .request_format_multipart_form
    .payload(params)
    .response_format_raw
    .after_response do |code, body, headers|
      {
        code: code,
        body: body
      }
    end
elsif method.downcase == 'put'
  # PUTリクエスト
  res = put(url)
    .request_format_multipart_form
    .payload(params)
    .response_format_raw
    .after_response do |code, body, headers|
      {
        code: code,
        body: body
      }
    end
end
 
# 結果を返す
{
  res: res
}

戻り値

項目
res.code HTTPステータスコード
res.body レスポンスボディ

参考情報

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?