0
大きなファイルをSoftlayer Object Storageにアップロードする必要があります。 Object StorageにPHP Clientを使用してこれを行うにはどうすればよいですか?ここでSoftlayer PHPクライアントのチャンクファイルのアップロード
大きなファイルをSoftlayer Object Storageにアップロードする必要があります。 Object StorageにPHP Clientを使用してこれを行うにはどうすればよいですか?ここでSoftlayer PHPクライアントのチャンクファイルのアップロード
SoftLayer Object Storage PHP Clientを使用してファイルをアップロードするPHP例:
<?php
require_once ('lib/ObjectStorage/Util.php');
class ObjectStorageSL{
var $objectStorage;
public function __construct($host, $username, $password, $options) {
$this -> objectStorage = new ObjectStorage($host, $username, $password, $options);
}
/**
* This method shows token and url from an object storage
* @var $objectStorage - Object Storage connection
*/
function displayTokenUrl() {
print("Token: " . $this -> objectStorage -> getAuthenticationData() -> authToken . "\n");
print("Url: " . $this -> objectStorage -> getAuthenticationData() -> objectStorageUrl);
}
/**
* This method uploads a file located in your local machine
* @var $objectStorage - Object Storage connection
* @var $containerName - The container's name where you want to upload the object
* @var $objectName - The object's name that you wish to assign for the file uploaded
* @var $path - The path where the file is located
*/
function uploadFile($containerName, $objectName, $path) {
try {
$result = $this -> objectStorage -> with($containerName . "/" . $objectName) -> setLocalFile($path) -> create();
print("\n".$result -> getUrl());
print("\nThe file has been uploaded");
} catch(Exception $e) {
echo "\nError: " . $e -> getMessage();
}
}
}
/**
* Declare Object Storage parameters
*/
$host = 'https://mil01.objectstorage.softlayer.net/auth/v1.0/';
// Declare your username and password for Object Storage connection
$username = 'set me';
$password = 'set me';
$options = array('adapter' => ObjectStorage_Http_Client::SOCKET, 'timeout' => 10);
/**
* Create Object Storage Connection
*/
$objectStorage = new ObjectStorageSL($host, $username, $password, $options);
/**
* Display Token and Url
*/
$objectStorage -> displayTokenUrl();
$path = "C:\Project\task.xml";
$objectStorage -> uploadFile("rcvTest", "task1.xml", $path);
私は10メガバイトよりも大きなファイルとそれをテストしていないが、それは動作するはずです、あなたは悩みやご質問がある場合は私に知らせて
私は今このアプローチを使用していますが、これは私が必要とする100%ではありません。 など。私は50MBのサイズのファイルを持っています。私は彼を5つの部分に分割し、それらを1つずつアップロードして一緒に集めてSoftlayerサーバーに入れることはできますか? (最初のリクエストではファイルが作成され、他のリクエストではこのようなファイルにデータが追加されます) –
大きなファイルでは不幸なことに、クライアントで分割する方法がありませんでした。 とにかく、この情報をご覧ください。 http://docs.openstack.org/developer/swift/api/large_objects.html –