如何将文件上传到API

时间:2015-03-06 15:41:57

标签: php httprequest image-uploading

假设我有一台PHP服务器。我正在为这台服务器创建一个API。我希望收到一个请求,其中

$_POST["FileContent"]

将包含文件内容和

$_POST["FileName"]

将包含文件的名称。我的问题是我没有做过这样的事情,我此刻上传文件的唯一方法是使用类型文件的输入。如果我只是以二进制方式加载文件,那么我想使用最佳实践方法,我还想确保内容实际上是图像内容,而不是PHP上传注入。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

你应该对客户端的文件内容进行base64编码,并在API端进行base64解码。

// client (pseudo-code)
data = {FileName: "someFileName", FileContents: base64Encode(someFile)}

// api
$fileContents = base64_decode($_POST['FileContents']);
$fileName     = $_POST['FileName'];

file_put_contents('path/to/upload/' . $fileName, $fileContents);