使用Rest Service将文件从服务器传输到另一个

时间:2017-03-24 14:38:54

标签: php rest file file-transfer

这是我的结构:

服务器1:表格上传文件并将其保存在内部文件夹中 服务器2:只是一个包含文件的存储库。

我需要什么:

来自服务器1的用户上传文件,然后,我需要调用Rest WS将该文件从服务器1复制到服务器2.

接近这个解决方案我试图编码文件并将编码的字符串发送到RestService,然后解码字符串并在server2中创建一个新文件。这实际上适用于2或3MB的文件,但不知道是否是最好的方法,并且不知道是否支持更大的文件(20到30MB)。

1 个答案:

答案 0 :(得分:1)

您可以像使用PHP一样将文件上传到REST端点。记住使用HTML表单和PHP时的操作。您只需发布表单并使用PHP代码在服务器上获取该文件。它与REST端点(API)相同,没什么区别 首先,在HTML表单中指定操作,action属性表示一个REST端点(API),您将在其中提交数据和文件(上载)。
有关进行简单HTML表单POST操作时的更多说明,请尝试在浏览器控制台上检查您的帖子请求,您可以在其中找到您提交的内容以及表单数据和上传文件如何提交到操作URL同样的形式适用于REST端点(API),没有什么特别之处,但您需要以编程方式定义表单(如果不是HTML表单),以便您可以提交请求。

例如,在您的情况下,向REST端点发出POST请求

POST /api/v1/myfileupload HTTP/1.1
Host: 123.12.12.12:3000
Authentication: Bearer some-token //there might be token based authentication
Content-Type: image/jpeg
Content-Length: 284

raw image content

你需要清楚REST,REST什么都不是,在REST中我们只是定义我们的虚拟Web浏览器。

更多细节: 请参阅:Link

REST端点是一个URL,就像其他网站URL一样。请参阅此reference,了解如何使用PHP Curl将文件发布到其他服务器。发布另一个服务器并发布到REST端点是一回事。 Post Files