2

尝试使用上传护理的 PHP 库从图像上传中获取 UUID 时,我遇到了一个非常特殊的问题。图像已成功上传回我的 Uploadcare 存储及其相关的 UUID,但是在我的 php 脚本中,当我尝试从文件输入中获取 UUID 时,请求对象返回一个空字符串。

这里分别是导入的 Uploadcare 脚本标签和输入标签: *按照PHP Library Repo中的说明

<script>UPLOADCARE_PUBLIC_KEY = "2a92ab6d0aaae8efe942";</script>
<script src="https://ucarecdn.com/widget/2.9.0/uploadcare/uploadcare.full.min.js" charset="UTF-8"></script>


<input type="hidden" role="uploadcare-uploader" name="file_id" data-upload-url-base="">

现在我在检查员控制台中注意到,在上传图像期间,并且仅在这种情况下,我得到以下信息

无法加载资源。无法连接到服务器http://localhost:0/

错误:

在此处输入图像描述

我已经多次重新启动我的服务器(使用 MAMP 顺便说一句)。正如我之前提到的,我所有的代码似乎都是正确的,图像已成功上传回我的 Uploadcare 存储...

有什么建议么?


更新

这是我目前构建的代码。我正在使用符合 Twig 的 Slim 框架作为我的模板引擎:

use Uploadcare\Api;

$app->container->singleton('uploadcare', function() {

  return new Api('2a92ab6d0aaae8efe942', 'SECRET KEY');

});

在我看来,我有以下 twig 语法,可以生成所需的 Uploadcare 脚本和输入标签:

<head>
   {{ app.uploadCare.widget.getScriptTag | raw }}
    <script>
      UPLOADCARE_LIVE = false;
      UPLOADCARE_DO_NOT_STORE = true;
      UPLOADCARE_TABS = 'file';
      UPLOADCARE_IMAGES_ONLY = true;
      UPLOADCARE_CROP = 'free';
    </script>
</head>

<body>
    <form enctype='multipart/form-data' method="post">
       {{ app.uploadCare.widget.getInputTag('file_id') | raw }}
    </form>
</body>

现在我所做的只是在提交表单时var_dump在我的request对象上添加一个,它显示file_id参数以空字符串返回,而不是上传图像的 UUID/新 url:

$request = $app->request;
var_dump($request->post('file_id'));

这呼应:

string(0) ""

更新 2

下面是通过 uploadcare 的 api 文件输入选择文件期间的网络活动截图。如您所见,其中一个 GET 请求失败,我猜这是导致故障的请求:

在此处输入图像描述

4

1 回答 1

0

只需删除data-upload-url-base="",它会指示小部件使用“空”上传服务器而不是upload.uploadcare.com

于 2017-03-10T06:25:01.520 回答