ファイルのダウンロード
ファイルのダウンロード
ファイルをダウンロードするには、取得するコンテンツが含まれるファイルのIDをGET /files/:id/content
に渡します。
cURL
curl -i -L -X GET "https://api.box.com/2.0/files/12345/content" \
-H "authorization: Bearer <ACCESS_TOKEN>" \
TypeScript Gen
const fs = require('fs');
const fileContent = await client.downloads.downloadFile('123456789');
const fileWriteStream = fs.createWriteStream('file.pdf');
fileContent.pipe(fileWriteStream);
Python Gen
client.downloads.download_file(uploaded_file.id)
.NET Gen
await client.Downloads.DownloadFileAsync(fileId: uploadedFile.Id);
Java
BoxFile file = new BoxFile(api, "id");
BoxFile.Info info = file.getInfo();
FileOutputStream stream = new FileOutputStream(info.getName());
file.download(stream);
stream.close();
Python
file_id = '11111'
file_content = client.file(file_id).content()
.NET
Stream fileContents = await client.FilesManager.DownloadStreamAsync(id: "11111");
Node
var fs = require('fs');
client.files.getReadStream('12345', null, function(error, stream) {
if (error) {
// handle error
}
// write the file to disk
var output = fs.createWriteStream('/path/to/file');
stream.pipe(output);
});
iOS
let url = FileManager.default.homeDirectoryForCurrentUser
let task: BoxDownloadTask = client.files.download(fileId: "11111", destinationURL: url) { (result: Result<Void, BoxSDKError>) in
guard case .success = result else {
print("Error downloading file")
return
}
print("File downloaded successfully")
}
// To cancel download
if someConditionIsSatisfied {
task.cancel()
}
ダウンロードURL
SDKを使用しない 場合、このAPIコールでは、HTTP 302 Found
ステータスコードとともに、次のようなダウンロードURLへのリンクを含むlocation
ヘッダーが返されます。
https://dl.boxcloud.com/d/1/[long-random-string]/download
cURLで-L
フラグを使用することで、自動的にこのリダイレクトに従うことができます。
ダウンロードURLの有効期限
このダウンロードURLは、ファイルのダウンロードを許可するためにユーザーのブラウザに渡すことができますが、このURLが期限切れになると、その後でダウンロードするには再度リクエストする必要があります。
ファイルの準備ができてい ない
ファイルをダウンロードする準備がまだできていない場合は、クライアントがファイルをダウンロードできるようになるまでの秒数を示すretry-after
ヘッダーが返されます。
このレスポンスは、ダウンロードリクエストの直前にファイルがアップロードされた場合に発生することがあります。