예제 #1
0
 static function Qiniu_RS_RputFile($self, $bucket, $key, $localFile, $putExtra)
 {
     $putPolicy = new QiniuRSPutPolicy("{$bucket}:{$key}");
     $upToken = $putPolicy->Token($self->Mac);
     if ($putExtra == null) {
         $putExtra = new QiniuRioPutExtra($bucket);
     } else {
         $putExtra->Bucket = $bucket;
     }
     return QiniuRioUploadClient::Qiniu_Rio_PutFile($upToken, $key, $localFile, $putExtra);
 }
 static function Qiniu_Rio_PutFile($upToken, $key, $localFile, $putExtra)
 {
     $fp = fopen($localFile, 'rb');
     if ($fp === false) {
         $err = new QiniuError(0, 'fopen failed');
         return array(null, $err);
     }
     $fi = fstat($fp);
     $result = QiniuRioUploadClient::Qiniu_Rio_Put($upToken, $key, $fp, $fi['size'], $putExtra);
     fclose($fp);
     return $result;
 }
예제 #3
0
 public function testLargePut()
 {
     if (getTestEnv() == "travis") {
         return;
     }
     $key = 'testRioLargePut' . getTid();
     $err = RSUtils::Qiniu_RS_Delete($this->client, $this->bucket, $key);
     $putPolicy = new QiniuRSPutPolicy($this->bucket);
     $upToken = $putPolicy->Token(null);
     $putExtra = new QiniuRioPutExtra($this->bucket);
     $putExtra->Params = array('x:test' => 'test');
     $reader = new \MockReader();
     list($ret, $err) = QiniuRioUploadClient::Qiniu_Rio_Put($upToken, $key, $reader, QiniuRioPutExtra::QINIU_RIO_BLOCK_SIZE() + 5, $putExtra);
     $this->assertNull($err);
     $this->assertEquals($ret['hash'], "lgQEOCZ8Ievliq8XOfZmWTndgOll");
     $this->assertEquals($ret['x:test'], "test");
     var_dump($ret);
     list($ret, $err) = RSUtils::Qiniu_RS_Stat($this->client, $this->bucket, $key);
     $this->assertNull($err);
     var_dump($ret);
     $err = RSUtils::Qiniu_RS_Delete($this->client, $this->bucket, $key);
     $this->assertNull($err);
 }