mirror of
https://github.com/SociallyDev/Spaces-API.git
synced 2025-08-21 22:03:38 -07:00
Compare commits
13 commits
Author | SHA1 | Date | |
---|---|---|---|
|
6b0f8f5e03 | ||
|
8ac092ea96 | ||
|
4f4b6148d2 | ||
|
6bc100cf90 | ||
|
c52d22a70e | ||
|
3a32727c28 | ||
|
e9cdacc684 | ||
|
26d6b83356 | ||
|
6d365b0f6a | ||
|
de48ddb481 | ||
|
f1adeb7c07 |
||
|
dc5dc27ff3 | ||
|
b7d1a40e70 |
8 changed files with 290 additions and 303 deletions
3
.github/ISSUE_TEMPLATE/BUG.yml
vendored
3
.github/ISSUE_TEMPLATE/BUG.yml
vendored
|
@ -18,6 +18,9 @@ body:
|
|||
label: Version
|
||||
description: What version of Spaces-API is this occuring on? Versions below 3 will not be fixed. Please upgrade.
|
||||
options:
|
||||
- 3.5.0
|
||||
- 3.4.0
|
||||
- 3.3.0
|
||||
- 3.2.0
|
||||
- 3.1.0
|
||||
- 3.0.0
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||

|
||||
# This library is deprecated
|
||||
We recommend using the [official SDK](https://github.com/DigitalOceanPHP/Client) or the [Laravel package](https://github.com/GrahamCampbell/Laravel-DigitalOcean)
|
||||
|
||||
PHP library for accessing Digital Ocean spaces
|
||||
All issues will be closed and new PRs will not be accepted
|
||||
|
||||
## Installation
|
||||
Install via composer
|
||||
|
@ -32,6 +33,9 @@ $file2url = $file2->getSignedURL("2 hours");
|
|||
// Make a copy
|
||||
$file3 = $file2->copy('remote-file-3.txt');
|
||||
|
||||
// Move or rename a file
|
||||
$file2->move('new-filename.txt')
|
||||
|
||||
// Make a file public and get the URL
|
||||
$file3->makePublic();
|
||||
$file3url = $file3->getURL();
|
||||
|
|
|
@ -303,15 +303,19 @@ class Space
|
|||
*
|
||||
* @param string $filepath The path to the file, including the filename. Relative and absolute paths are accepted.
|
||||
* @param string|null $filename The remote filename. If `null`, the local filename will be used.
|
||||
* @param string|null $mimeType The file mime type to pass as ContentType for the file (e.g. 'image/jpeg').
|
||||
* @param bool $private True for the file to be private, false to allow public access.
|
||||
*
|
||||
* @return \SpacesAPI\File
|
||||
*/
|
||||
public function uploadFile(string $filepath, ?string $filename = null): File
|
||||
public function uploadFile(string $filepath, ?string $filename = null, ?string $mimeType = null, bool $private = true): File
|
||||
{
|
||||
$this->s3->putObject([
|
||||
'Bucket' => $this->name,
|
||||
'Key' => ($filename) ?: basename($filepath),
|
||||
'SourceFile' => $filepath,
|
||||
'ContentType' => $mimeType,
|
||||
'ACL' => ($private) ? 'private' : 'public-read'
|
||||
]);
|
||||
|
||||
return new File($this, ($filename) ?: basename($filepath), [], false);
|
||||
|
@ -321,13 +325,14 @@ class Space
|
|||
* Get an instance of \SpacesAPI\File for a given filename
|
||||
*
|
||||
* @param string $filename
|
||||
* @package bool $validate
|
||||
*
|
||||
* @return \SpacesAPI\File
|
||||
* @throws \SpacesAPI\Exceptions\FileDoesntExistException Thrown if the file doesn't exist
|
||||
*/
|
||||
public function file(string $filename): File
|
||||
public function file(string $filename, bool $validate = true): File
|
||||
{
|
||||
return new File($this, $filename);
|
||||
return new File($this, $filename, [], $validate);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -36,7 +36,7 @@ class Spaces
|
|||
{
|
||||
$this->s3 = new S3Client([
|
||||
"version" => "latest",
|
||||
"region" => "us-east-1",
|
||||
"region" => $region,
|
||||
"endpoint" => "https://$region.$host",
|
||||
"credentials" => ["key" => $accessKey, "secret" => $secretKey],
|
||||
"ua_append" => "SociallyDev-Spaces-API/2",
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "sociallydev/spaces-api",
|
||||
"description": "Library for accessing Digital Ocean spaces",
|
||||
"version":"3.4.0",
|
||||
"version":"3.6.1",
|
||||
"type": "library",
|
||||
"license": "MIT",
|
||||
"authors": [
|
||||
|
|
549
composer.lock
generated
549
composer.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -180,7 +180,7 @@ Recursively download an entire directory.
|
|||
**Description**
|
||||
|
||||
```php
|
||||
public file (string $filename)
|
||||
public file (string $filename, bool $validate = true)
|
||||
```
|
||||
|
||||
Get an instance of \SpacesAPI\File for a given filename
|
||||
|
@ -190,6 +190,8 @@ Get an instance of \SpacesAPI\File for a given filename
|
|||
**Parameters**
|
||||
|
||||
* `(string) $filename`
|
||||
* `(bool) $validate`
|
||||
: Whether to validate the file exits. Defaults to `true`
|
||||
|
||||
**Return Values**
|
||||
|
||||
|
@ -463,7 +465,7 @@ Recursively upload an entire directory
|
|||
**Description**
|
||||
|
||||
```php
|
||||
public uploadFile (string $filepath, string|null $filename = null)
|
||||
public uploadFile (string $filepath, string|null $filename = null, string|null $mimeType = null, bool $private = true)
|
||||
```
|
||||
|
||||
Upload a file
|
||||
|
@ -476,6 +478,10 @@ Upload a file
|
|||
: The path to the file, including the filename. Relative and absolute paths are accepted.
|
||||
* `(string|null) $filename`
|
||||
: The remote filename. If `null`, the local filename will be used. Default `null`
|
||||
* `(string|null) $mimeType`
|
||||
: The files mimeType. If `null` the mimeType is inferred from the file by DigitalOcean Spaces. Default `null`
|
||||
* `(bool)` $private
|
||||
: If `true` then the file is private, if `false` the file is publicly available. Default `true`
|
||||
|
||||
**Return Values**
|
||||
|
||||
|
|
|
@ -86,6 +86,14 @@ class SpaceTest extends TestCase
|
|||
$this->assertInstanceOf(File::class, $file);
|
||||
}
|
||||
|
||||
public function testCanUploadFileWithMimeType()
|
||||
{
|
||||
$tmpFile = tempnam(sys_get_temp_dir(), 'spaces-test');
|
||||
$file = self::$space->uploadFile($tmpFile, 'upload-test.txt', 'text/plain');
|
||||
$this->assertInstanceOf(File::class, $file);
|
||||
$this->assertEquals('text/plain', $file->content_type);
|
||||
}
|
||||
|
||||
/**
|
||||
* @depends testCanUploadText
|
||||
* @depends testCanUploadFile
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue