通过vtiger 5.4 Web服务添加/上传文件

斯德拉格涅夫

我正在尝试创建带有通过vtiger 5.4 Web服务提交的附件的文档。

创建文档非常简单,但是我不清楚添加文件的过程。似乎分两个步骤:

  1. 上载档案
  2. 将文件引用到文档

除非有直接的方法可以在文档对象旁边上传文件,否则我找不到关于该主题的任何文档(基本的准系统webservices文档除外)。

希望有任何指针。谢谢!

马吉克斯

您没有指定要使用的语言,因此我将在此处粘贴一个简单的curl请求,您可以尝试一下并弄清楚如何以您选择的语言进行复制。

基本上,您需要做的是将文件“附加”"multipart/form-data"到要发送的用于创建新文件的POST请求中。

curl -i \
-b vtcookies \
-H "Accept: application/json; charset=UTF-8" \
-X POST \
-F '_operation=saveRecord' \
-F 'module=Documents' \
-F 'session=20a5XXXXXXX9a1ba95c19a' \
-F 'values={"notes_title" : "Example title", "assigned_user_id" : "19x1", "notecontent" : "<p>Some content</p>", "filelocationtype" : "I", "filestatus" : 1, "filename" : "set-your-file-name.png"}' \
-F "file=@\"path-to-filename.png\";filename=\"filename.png\"" \
http://localhost:8888/vtigercrm540/modules/Mobile/api.php

该curl示例的实现细节:-b选项告诉curl在文件中查找会话cookie。要使上述curl请求生效,您必须首先运行以下命令:

curl -i \
-c vtcookies \
-H "Accept: application/json; charset=UTF-8" \
-X POST \
-F '_operation=login' \
-F 'username=your-username' \
-F 'password=your-password' \
http://localhost:8888/vtigercrm530/modules/Mobile/api.php

在特别要求与PHP有关的问题之后,添加了以下内容。

根据所请求的PHP语言,这里有更多信息。我参与了Vtiger WebService浏览器项目,并且可以给出更多提示(该项目用于Webservices,而不用于Mobile API,但是提供了一个PHP客户端,并且基本概念非常相似)。

Vtiger_HTTP_Client是的子类Curl_HTTP_Client而不是使用该send_post_data方法,您应该看看send_multipart_post_dataHTTP_Client.php文件中有一个称为的方法doPost我制作了一个名为的版本,doPostFile如下所示:

function doPostFile($postdata=false, $file, $decodeResponseJSON=false, $timeout=20) {
    if($postdata === false) $postdata = Array();
    $this->debug = TRUE;
    $resdata = $this->send_multipart_post_data($this->_serviceurl, $postdata, $file, null, $timeout);
    if($resdata && $decodeResponseJSON) $resdata = $this->__jsondecode($resdata);
    return $resdata;
}

在此代码中,$file变量包含$_FILES["file"],其var_dump外观类似于:

array(6) { ["name"]=> string(28) "@8590567929_72c0ded112_o.jpg" 
["type"]=> string(11) "@image/jpeg" 
["tmp_name"]=> string(36) "/Applications/MAMP/tmp/php/phpZWMXz5" 
["error"]=> int(0) ["size"]=> int(1255732) }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

iOS Swift 5-通过调用PHP函数将文件上传到服务器

来自分类Dev

在Chrome的HTML5视频代码中通过php播放mp4文件?

来自分类Dev

通过休息服务上传文件

来自分类Dev

Laravel5文件通过Ajax上传

来自分类Dev

通过应用建议的更改从Swift 4到Swift 5

来自分类Dev

无法使用HTML5 File API和ASP.NET MVC4在服务器端捕获文件上传

来自分类Dev

文件上传MVC 4 Web应用程序到服务器,无需模式

来自分类Dev

在p5js中使用通过HTML DOM文件上传器上传的图像

来自分类Dev

带有Spring MVC 4和Spring Boot的html5多个文件上传

来自分类Dev

通过Web服务将文件上传到Sharepoint的任何方法

来自分类Dev

当我通过 Intellij idea 运行 Kettle 8.0 源代码时,出现以下错误:log4j:ERROR 无法解析文件 [plugins/kettle5-log4j-plugin/log4j.xml]

来自分类Dev

通过文件上传添加新数据

来自分类Dev

通过PHP上传视频并编码为服务器上的MP4和/或WebM?

来自分类Dev

Vtiger Web服务“对不起!尝试访问受限制的文件”响应

来自分类Dev

vTiger Web服务:执行操作的权限被拒绝查询

来自分类Dev

Ajax和MVC 5-通过Ajax上传图像二进制文件

来自分类Dev

HTML5 多文件上传。通过 jQuery AJAX 和 PHP 返回 lastinsertid?

来自分类Dev

将Foundation 5添加到Laravel 4

来自分类Dev

MVC 4/5添加静态下拉列表以向验证注册

来自分类Dev

通过使用分段上传API将小于5 MB的文件上传到AWS S3存储桶

来自分类Dev

为html 5准备mp4文件

来自分类Dev

通过rake任务将CSV文件上传到Rails 4 DB

来自分类Dev

Rails-4载波不通过Ajax保存上传的文件

来自分类Dev

使用AWS4 Auth通过bash将文件上传到s3?

来自分类Dev

通过PHP fpassthru()加载了mp4 / webm的Chrome HTML5视频:无法设置currentTime?

来自分类Dev

如何在4-5秒后通过流程生成器停止正在执行的命令?

来自分类Dev

使用Red5通过ffmpeg和rtmp流mp4视频

来自分类Dev

正常形式:4 对 5

来自分类Dev

通过从HTML5批量上传到Azure媒体服务中来摄取视频

Related 相关文章

  1. 1

    iOS Swift 5-通过调用PHP函数将文件上传到服务器

  2. 2

    在Chrome的HTML5视频代码中通过php播放mp4文件?

  3. 3

    通过休息服务上传文件

  4. 4

    Laravel5文件通过Ajax上传

  5. 5

    通过应用建议的更改从Swift 4到Swift 5

  6. 6

    无法使用HTML5 File API和ASP.NET MVC4在服务器端捕获文件上传

  7. 7

    文件上传MVC 4 Web应用程序到服务器,无需模式

  8. 8

    在p5js中使用通过HTML DOM文件上传器上传的图像

  9. 9

    带有Spring MVC 4和Spring Boot的html5多个文件上传

  10. 10

    通过Web服务将文件上传到Sharepoint的任何方法

  11. 11

    当我通过 Intellij idea 运行 Kettle 8.0 源代码时,出现以下错误:log4j:ERROR 无法解析文件 [plugins/kettle5-log4j-plugin/log4j.xml]

  12. 12

    通过文件上传添加新数据

  13. 13

    通过PHP上传视频并编码为服务器上的MP4和/或WebM?

  14. 14

    Vtiger Web服务“对不起!尝试访问受限制的文件”响应

  15. 15

    vTiger Web服务:执行操作的权限被拒绝查询

  16. 16

    Ajax和MVC 5-通过Ajax上传图像二进制文件

  17. 17

    HTML5 多文件上传。通过 jQuery AJAX 和 PHP 返回 lastinsertid?

  18. 18

    将Foundation 5添加到Laravel 4

  19. 19

    MVC 4/5添加静态下拉列表以向验证注册

  20. 20

    通过使用分段上传API将小于5 MB的文件上传到AWS S3存储桶

  21. 21

    为html 5准备mp4文件

  22. 22

    通过rake任务将CSV文件上传到Rails 4 DB

  23. 23

    Rails-4载波不通过Ajax保存上传的文件

  24. 24

    使用AWS4 Auth通过bash将文件上传到s3?

  25. 25

    通过PHP fpassthru()加载了mp4 / webm的Chrome HTML5视频:无法设置currentTime?

  26. 26

    如何在4-5秒后通过流程生成器停止正在执行的命令?

  27. 27

    使用Red5通过ffmpeg和rtmp流mp4视频

  28. 28

    正常形式:4 对 5

  29. 29

    通过从HTML5批量上传到Azure媒体服务中来摄取视频

热门标签

归档