Normal Upload

最終更新日:2025-08-18 15:31:55

通常アップロードインターフェイスは、オブジェクトストレージプラットフォーム上の指定バケットへリソースファイルをアップロードする機能を提供します。ファイルサイズが500MBを超える場合は、マルチパートアップロードの使用が必須です。また、通常アップロードはHTMLフォーム経由でのアップロードもサポートしています。

注意:

  1. マルチパートアップロードを利用する場合のファイルサイズの推奨値は、利用環境によって異なります。詳細は関連SDKの推奨値を参照してください。
  2. オブジェクトストレージが提供するアップロード用ドメイン名は、一般的なドメイン名です。

リクエスト説明

アップロードリクエストは、HTTPのmultipart/form-dataフォーマットで送信されます。以下はリクエスト例です。

POST /file/upload HTTP/1.1
Host: <UploadDomain>
Accept: */*
Content-Type: multipart/form-data; boundary=<boundary>
Content-Length: <multipartContentLength>
--<boundary>
Content-Disposition: form-data; name="token"
<uploadToken>
--<boundary>
Content-Disposition: form-data; name="<x:VariableName>"
<x:VariableValue>
--<boundary>
Content-Disposition: form-data; name="key"
<key>
--<boundary>
Content-Disposition: form-data; name="mimeType"
<mimeType>
--<boundary>
Content-Disposition: form-data; name="deadline"
<deadline>
--<boundary>
Content-Disposition: form-data; name="file"; filename="original file name"
Content-Type: application/octet-stream
<fileBinaryData>
--<boundary>--

ヘッダー説明

ヘッダー名 必須 説明
Host はい Upload Domain Name。コンソールのOverview画面で取得可能。
Accept はい 受信タイプ。固定値*/*です。
Content-Type はい コンテンツタイプ。固定値multipart/form-dataで、<boundary>はマルチパートの区切り文字です。
Content-Length はい コンテンツの合計長さ(単位: バイト)。

パラメーター説明

パラメーター 必須 説明
<token> はい Upload Credential
<x:VariableName> いいえ カスタム変数の名前。
<x:VariableValue> いいえ カスタム変数の値。
<key> いいえ Custom File Name
<mimeType> いいえ カスタムファイルのMIME-Type
<deadline> いいえ ファイル保存期間。指定した日数を超えると、ファイルは自動的に削除されます。単位:日。例: 1, 2, 3…
注:0はできるだけ早期に削除することを示します。アップロード時に0を指定することは推奨しません。
<file> はい ファイル情報。ファイル名未指定の場合は、ファイルのfileName属性が使用されます。
<fileBinaryData> はい ファイルのバイナリストリームです。

レスポンス説明

正常レスポンス(200 OK)

HTTP/1.1 200 OK
Server: WS-web-server
<ResponseContent>

リクエストが成功した場合、<ResponseContent>には下記内容のURL-Safe Base64 Encoded文字列が返却されます。

hash=<filehash>

主要フィールド説明:

フィールド名 必須 説明
<filehash> はい ファイルのハッシュ値。

注意: アップロード時にreturnBodyが指定されている場合、returnBodyの内容が返却値に追加されます。例:name=<filename>&size=<filesize>hash=<filehash>等。

エラーレスポンス

リクエストが失敗した場合、返却値は以下の形式のJSON文字列となります。

{
    "code":     "<code string>",
    "message":  "<message string>"
}

エラーフィールド説明:

フィールド名 必須 説明
code はい HTTP Response Status Code
message はい メッセージの内容

使用例

curl -v -i -X POST -H "Expect:" -F file=@D:/8.png -F key=m.png -F token="6a69ab4062cb03059e4c13a0f5e662523effad49:ZGE1MWY1YzA4ZDgyMjVlM2Q3MmE2YjZkZDI3MmY1ZmMxNjk2YTFjOA==:eyJzY29wZSI6InRlc3QiLCJkZWFkbGluZSI6IjE0NzIxNzY2MzQwMDAiLCJvdmVyd3JpdGUiOjAsImZzaXplTGltaXQiOjAsImluc3RhbnQiOjAsInNlcGFyYXRlIjowfQ==" --url 'http://updomain.com/file/upload'