mirror of
https://github.com/SociallyDev/Spaces-API.git
synced 2025-07-05 20:41:31 -07:00
Merge pull request #74 from juhchamp/master
Add `mimetype` and `privacy` option to `uploadFile` method of `Space`
This commit is contained in:
commit
f1adeb7c07
2 changed files with 12 additions and 1 deletions
|
@ -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);
|
||||
|
|
|
@ -86,6 +86,13 @@ 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);
|
||||
}
|
||||
|
||||
/**
|
||||
* @depends testCanUploadText
|
||||
* @depends testCanUploadFile
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue