2015-10-01 94 views
1

如何通過api發送和接收文件。我想通過APi發送和接收PDF和圖像文件。我該怎麼做?例如,用戶使用python發送文件(使用python進行API調用),然後在端點(使用PHP)接收它並將其保存到文件系統。我如何通過API發送和接收文件?通過API發送(使用Python)並通過API接收(使用PHP)文件

的API端點只接受應用程序/ JSON

當有人向我通過API(Python編寫)的文件,我怎麼處理使用PHP文件?

這裏的解決方案,我至今:

base64encode蟒結束 的文件,然後base64decode在PHP結束的文件。

問題是我不知道如何通過base64解碼來檢索文件。

有誰知道如何base64解碼文件並將其內容保存到數據庫?

+1

您是否嘗試過使用 「move_uploaded_file()以」 並獲得使用$ _ POST [ '文件']或$ _FILES [文件數據'文件']?你有沒有得到任何錯誤? –

回答

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 
}); 
+0

如何從服務器端接受它? – Jasmine

+0

大概這將幫助你 http://stackoverflow.com/questions/17834243/how-to-read-formdata-object-in-php 我不知道,因爲我不進入PHP –

+0

我試圖在python中做這個而不是jquery – Jasmine

相關問題