首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Fine Uploader - 301 Moved Permanently Error

Fine Uploader - 301 Moved Permanently Error
EN

Stack Overflow用户
提问于 2014-05-17 22:18:49
回答 1查看 603关注 0票数 2

使用fine-uploader和以下php s3端点模板文件:

https://github.com/Widen/fine-uploader-server/blob/master/php/s3/s3demo-thumbnails-cors.php#L241-L248

图片成功上传到s3存储桶,但我无法在我的页面中得到任何响应(例如获取tempLink):

代码语言:javascript
复制
}).on('complete', function(event, id, name, response) {
    console.dir(response);
});

我得到以下致命错误:

代码语言:javascript
复制
[Fine Uploader 4.4.0] Submitting upload success request/notification for 0
[Fine Uploader 4.4.0] Sending POST request for 0

[Fine Uploader 4.4.0] Received the following response body to an upload success request for id 0: <br />
<b>Fatal error</b>:  Uncaught Aws\S3\Exception\S3Exception: AWS Error Code: , Status Code: 301, AWS Request ID: 7103DD45F997003C, AWS Error Type: client, AWS Error Message: 301 Moved Permanently (Request-ID: 7103DD45F997003C), User-Agent: aws-sdk-php2/2.6.3 Guzzle/3.9.1 curl/7.24.0 PHP/5.3.28
  thrown in <b>/xxxxx/aws/Aws/Common/Exception/NamespaceExceptionFactory.php</b> on line <b>91</b><br />

[Fine Uploader 4.4.0] Upload success was acknowledged by the server. 

它指向php aws sdk中的这个文件:

aws/Aws/Common/Exception/NamespaceExceptionFactory.php

代码语言:javascript
复制
/**
 * Create an prepare an exception object
 *
 * @param string           $className Name of the class to create
 * @param RequestInterface $request   Request
 * @param Response         $response  Response received
 * @param array            $parts     Parsed exception data
 *
 * @return \Exception
 */
protected function createException($className, RequestInterface $request, Response $response, array $parts)
{
    $class = new $className($parts['message']);

    if ($class instanceof ServiceResponseException) {
        $class->setExceptionCode($parts['code']);
        $class->setExceptionType($parts['type']);
        $class->setResponse($response);
        $class->setRequest($request);
        $class->setRequestId($parts['request_id']);
    }

    return $class;
}
EN

回答 1

Stack Overflow用户

发布于 2014-05-18 03:23:05

终于让它起作用了。问题是在`getS3Client()中实例化client对象时缺少region属性,如下所示

代码语言:javascript
复制
function getS3Client() {
    global $serverPublicKey, $serverPrivateKey;

    return S3Client::factory(array(
        'key' => $serverPublicKey,
        'secret' => $serverPrivateKey,
        'region' => 'xx-xxxx-x'
    ));
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23712357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档