首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用其REST API将文件上传到Wufoo

无法使用其REST API将文件上传到Wufoo
EN

Stack Overflow用户
提问于 2016-03-21 18:49:36
回答 2查看 251关注 0票数 0

在我建立的一个网站上,我们使用了Wufoo表单来集中数据。所以我有一个简单的表单,我必须提交给Wufoo,使用他们的rest API。

我根据他们的文档执行了所有操作,但在将POST请求发送到他们的端点时仍然收到错误。

下面是我的请求:

代码语言:javascript
复制
$ref = curl_init('https://{domain}.wufoo.com/api/v3/forms/' . WUFOO_FORM_HASH . '/entries.json');
curl_setopt($ref, CURLOPT_HTTPHEADER, array('Content-type: multipart/form-data'));
curl_setopt($ref, CURLOPT_POST, true);
curl_setopt($ref, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ref, CURLOPT_POSTFIELDS, $_formData);
curl_setopt($ref, CURLOPT_USERPWD, WUFOO_API_KEY . ':X');
curl_setopt($ref, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ref, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ref, CURLOPT_SSL_VERIFYHOST, true);
curl_setopt($ref, CURLOPT_FOLLOWLOCATION, true);
$result = json_decode(curl_exec($ref), true);

这是$_formData数组:

代码语言:javascript
复制
Array
(
    [Field4] => firstname
    [Field3] => lastname
    [Field5] => email@test.com
    [Field110] => @/var/tmp/random_name/test.txt
)

每当我在Field110中将文件附加到请求时,请求都会失败,并显示以下错误:

代码语言:javascript
复制
Array
(
    [Success] => 0
    [ErrorText] => Errors have been <b>highlighted</b> below.
    [FieldErrors] => Array
        (
            [0] => Array
                (
                    [ID] => Field110
                    [ErrorText] => This file was NOT successfully uploaded. Please try again.
                )

        )

)

有没有人以前遇到过这个问题,知道什么解决方案?我不得不提一下,我必须使用Wufoo rest API来提交这篇文章。

EN

回答 2

Stack Overflow用户

发布于 2017-03-01 12:54:04

[Field110]的值应该是一个CURL文件对象。

我在Github (https://github.com/wufoo/Wufoo-PHP-API-Wrapper/pull/10/commits/094d64436cee405739f5b39bc28f745afed65eb3)上找到了一个解决方案,其中包含以下行:

$curl_file = curl_file_create($this->value, mime_content_type($this->value), pathinfo($this->value, PATHINFO_BASENAME));

您可能需要替换$this->value,只要确保它获得值/var/tmp/random_name/test.txt并将$curl_file传递给[Field110]即可。

如果你想看另一个例子,我实际上已经在一个WordPress插件中实现了这个:https://github.com/friendofdog/better_wfi_wordpress/blob/master/front/post-intermediary.php。看看第77行。

票数 1
EN

Stack Overflow用户

发布于 2017-01-10 03:39:21

根据错误消息,文件未正确成功上载。这意味着文件的路径、大小或类型存在问题。

文件的最大大小为10MB,单个表单中所有字段的最大大小为20MB。

你为什么不使用Wufoo API PHP Wrapper,它允许发布带有文件的条目……

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36129034

复制
相关文章

相似问题

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