ファイルのコンテンツを更新します。ファイルサイズが50MBを超える場合は、分割アップロードAPIを使用することをお勧めします。
本文のattributes
部分はfile
部分の前に置く必要があります。ファイルのアップロード時にリクエストがこの形式に従っていない場合は、HTTP 400
エラーとmetadata_after_file_contents
エラーコードが返されます。
12345
ファイルを表す一意の識別子。
ファイルIDを確認するには、ウェブアプリケーションでファイルにアクセスして、URLからIDをコピーします。たとえば、URLがhttps://*.app.box.com/files/123
の場合、file_id
は123
です。
id,type,name
応答に含める属性のカンマ区切りリスト。このパラメータを使用すると、標準の応答には通常含まれないフィールドをリクエストできます。
このパラメータを指定すると、明示的に指定しない限り標準フィールドは応答に含まれず、リクエストしたフィールドのほかには、簡易版レプリゼンテーションのフィールドしか返されないことに注意してください。
アップロードされるファイルの追加の属性。主に名前と親フォルダ。これらの属性はマルチパートリクエスト本文に含まれており、JSON形式です。
本文のattributes
部分はfile
部分の前に置く必要があります。ファイルのアップロード時にリクエストがこの形式に従っていない場合は、HTTP 400
エラーとmetadata_after_file_contents
エラーコードが返されます。
2012-12-12T10:53:43-08:00
ファイルが最後に変更された日時を示します。
設定されていない場合は、アップロード日時が使用されます。
Photo 2.0.png
ファイルの新しい名前(省略可)。指定した場合は、新しいバージョンがアップロードされると、ファイル名が変更されます。
Boxにアップロードするファイルのコンテンツ。
本文のattributes
部分はfile
部分の前に置く必要があります。ファイルのアップロード時にリクエストがこの形式に従っていない場合は、HTTP 400
エラーとmetadata_after_file_contents
エラーコードが返されます。
134b65991ed521fcfe4724b7d814ab8ded5185dc
ファイルが転送中に破損していないことを確認するための、ファイルのSHA1ハッシュを含むヘッダー(省略可)。
1
変更を加える前にこの項目が最近変更されていないことを確認します。
その項目の最後に認識されたetag
値をこのヘッダーに渡すと、それ以降に項目が変更されている場合、エンドポイントは412 Precondition Failed
を返して失敗します。
curl -X POST https://upload.box.com/api/2.0/files/12345/content \
-H 'Authorization: Bearer <ACCESS_TOKEN>" '
-H "Content-Type: multipart/form-data" \
-F attributes='{"name":"Photo.jpg", "parent":{"id":"11446498"}}' \
-F file=@<FILE_NAME>
using (FileStream fileStream = new FileStream(filePath, FileMode.Open))
{
BoxFile file = await client.FilesManager
.UploadNewVersionAsync("File v2.pdf", "11111", fileStream);
}
BoxFile file = new BoxFile(api, "id");
FileInputStream stream = new FileInputStream("My File.txt");
file.uploadVersion(stream);
file_id = '11111'
file_path = '/path/to/file.pdf'
updated_file = client.file(file_id).update_contents(file_path)
print('File "{0}" has been updated'.format(updated_file.name))
var fs = require('fs');
var stream = fs.createReadStream('/path/to/file.pdf');
client.files.uploadNewFileVersion('11111', stream)
.then(file => {
/* file -> {
total_count: 1,
entries:
[ { type: 'file',
id: '11111',
file_version:
{ type: 'file_version',
id: '22222',
sha1: '0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33' },
sequence_id: '0',
etag: '0',
sha1: '0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33',
name: 'My File.pdf',
description: '',
size: 68431,
path_collection:
{ total_count: 1,
entries:
[ { type: 'folder',
id: '0',
sequence_id: null,
etag: null,
name: 'All Files' } ] },
created_at: '2017-05-16T15:18:02-07:00',
modified_at: '2017-05-16T15:18:02-07:00',
trashed_at: null,
purged_at: null,
content_created_at: '2017-05-16T15:18:02-07:00',
content_modified_at: '2017-05-16T15:18:02-07:00',
created_by:
{ type: 'user',
id: '33333',
name: 'Test User',
login: 'test@example.com' },
modified_by:
{ type: 'user',
id: '33333',
name: 'Test User',
login: 'test@example.com' },
owned_by:
{ type: 'user',
id: '33333',
name: 'Test User',
login: 'test@example.com' },
shared_link: null,
parent:
{ type: 'folder',
id: '0',
sequence_id: null,
etag: null,
name: 'All Files' }
item_status: 'active' } ] }
*/
let data = "updated file content".data(using: .utf8)
let task: BoxUploadTask = client.files.uploadVersion(
forFile: "11111",
name: "New file name.txt",
contentModifiedAt: "2019-08-07T09:19:13-07:00",
data: data
) { (result: Result<File, BoxSDKError>) in
guard case let .success(file) = result else {
print("Error uploading file version")
return
}
print("New version of \(file.name) was uploaded")
}
// To cancel upload
if someConditionIsSatisfied {
task.cancel()
}