通过API发送(使用Python)和接收(使用PHP)文件

时间:2015-10-01 18:45:16

标签: php jquery python api

如何通过api发送和接收文件。我想通过APi发送和接收pdf和图像文件。我怎么能这样做?例如,用户使用python发送文件(使用python进行API调用),我在端点(使用PHP)接收它并将其保存到文件系统。如何通过API发送和接收文件?

API端点仅接受application / json

当有人通过API向我发送文件(用python编写)时,如何使用PHP处理文件?

这是我到目前为止的解决方案:

base64对python端的文件进行编码 然后base64对PHP端的文件进行编码。

问题是我不知道如何通过base64解码它来检索文件。

有谁知道如何base64decode文件并将其内容保存到数据库?

1 个答案:

答案 0 :(得分:1)

您必须使用FormData object

<form enctype="multipart/form-data" method="post" name="fileinfo">
  <label>Your email address:</label>
  <input type="email" autocomplete="on" autofocus name="userid" placeholder="email" required size="32" maxlength="64" /><br />
  <label>Custom file label:</label>
  <input type="text" name="filelabel" size="12" maxlength="32" /><br />
  <label>File to stash:</label>
  <input type="file" name="file" required />
  <input type="submit" value="Stash the file!" />
</form>
<div></div>

和js

var fd = new FormData(document.querySelector("form"));
fd.append("CustomField", "This is some extra data");
$.ajax({
  url: "stash.php",
  type: "POST",
  data: fd,
  processData: false,  // tell jQuery not to process the data
  contentType: false   // tell jQuery not to set contentType
});