dongshiliao7990 2016-06-13 08:24
浏览 35
已采纳

Softlayer PHP Client中的Chunked文件上传

I need to upload large files to Softlayer Object Storage. How can I do this using PHP Client for Object Storage?

  • 写回答

1条回答 默认 最新

  • dongmi4734 2016-06-13 13:35
    关注

    Here a php example to upload files using SoftLayer Object Storage PHP Client:

    <?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 . "
    ");
            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("
    ".$result -> getUrl());
                print("
    The file has been uploaded");
            } catch(Exception $e) {
                echo "
    Error: " . $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);
    

    I didn't test it with files bigger than 10 MB, but it should work, let me know if you have troubles or any question

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误