尝试使用上传护理的 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 请求失败,我猜这是导致故障的请求: