Yii2 Azure Flysystem 无法保存错误
Yii2 Azure Flysystem cannot save error
当我将文件上传到 Azure 文件存储时,出现以下错误:
in
E:\WAMP\www\myweb\_protected\vendor\microsoft\windowsazure\WindowsAzure\Common\Internal\Http\Url.php at line 74 – WindowsAzure\Common\Internal\Validate::isTrue(false, 'Provided URL is invalid.')
E:\WAMP\www\allure\_protected\vendor\microsoft\windowsazure\WindowsAzure\Common\Internal\RestProxy.php at line 122 – WindowsAzure\Common\Internal\Http\Url::__construct('https://cG9rYXJuYXZpb282mGQ=.blo...')
我在配置文件中的设置是:
'filesystem' => [
'class' => 'creocoder\flysystem\AzureFilesystem',
'accountName' => 'azure-accname',
'accountKey' => 'some-long-key-A==',
'container' => 'azure-container',
],
最后,我调用的保存文件的代码是:
if($file = \yii\web\UploadedFile::getInstance($this, 'attachment'))
{
$stream = fopen($file->tempName, 'r+');
Yii::$app->filesystem->writeStream($file->name, $stream);
}
一些可能有用的附加信息
- 运行 关于 yii2 高级框架
- 网络服务器:IIS 8.5 Windows 2012
- PHP 5.4.5
- 用于安装的作曲家
- 它是一个天蓝色的文件系统 - 该错误似乎是 blob.core.windows.net 的错误,因为我正在将数据保存到 file.core.windows.net。我应该在配置/设置中做哪些更改?
根据 https://github.com/creocoder/yii2-flysystem/blob/master/src/AzureFilesystem.php#L62 的源代码,似乎包将存储信息字符串加密为 base64
编码,然后再将它们组合到连接字符串中。这使得错误消息 'https://cG9rYXJuYXZpb282mGQ=.blo...'
.
中的 url 格式看起来很奇怪
请尝试将帐户信息设置为以下格式:
...
'accountName' => base64_decode('azure-accname'),
'accountKey' => base64_decode('some-long-key-A=='),
...
如有任何疑问,请随时告诉我。
当我将文件上传到 Azure 文件存储时,出现以下错误:
in
E:\WAMP\www\myweb\_protected\vendor\microsoft\windowsazure\WindowsAzure\Common\Internal\Http\Url.php at line 74 – WindowsAzure\Common\Internal\Validate::isTrue(false, 'Provided URL is invalid.')
E:\WAMP\www\allure\_protected\vendor\microsoft\windowsazure\WindowsAzure\Common\Internal\RestProxy.php at line 122 – WindowsAzure\Common\Internal\Http\Url::__construct('https://cG9rYXJuYXZpb282mGQ=.blo...')
我在配置文件中的设置是:
'filesystem' => [
'class' => 'creocoder\flysystem\AzureFilesystem',
'accountName' => 'azure-accname',
'accountKey' => 'some-long-key-A==',
'container' => 'azure-container',
],
最后,我调用的保存文件的代码是:
if($file = \yii\web\UploadedFile::getInstance($this, 'attachment'))
{
$stream = fopen($file->tempName, 'r+');
Yii::$app->filesystem->writeStream($file->name, $stream);
}
一些可能有用的附加信息
- 运行 关于 yii2 高级框架
- 网络服务器:IIS 8.5 Windows 2012
- PHP 5.4.5
- 用于安装的作曲家
- 它是一个天蓝色的文件系统 - 该错误似乎是 blob.core.windows.net 的错误,因为我正在将数据保存到 file.core.windows.net。我应该在配置/设置中做哪些更改?
根据 https://github.com/creocoder/yii2-flysystem/blob/master/src/AzureFilesystem.php#L62 的源代码,似乎包将存储信息字符串加密为 base64
编码,然后再将它们组合到连接字符串中。这使得错误消息 'https://cG9rYXJuYXZpb282mGQ=.blo...'
.
请尝试将帐户信息设置为以下格式:
...
'accountName' => base64_decode('azure-accname'),
'accountKey' => base64_decode('some-long-key-A=='),
...
如有任何疑问,请随时告诉我。