1
slimframework我想发送从我的服务器上的文件到我的另一台服务器上的REST API,但由于某种原因它不使用得到我发送的数据..将文件发送到从服务器的NodeJS
REST API PHP苗条框架:
$app->post
(
'/api/upload',
function() use ($app)
{
$logs = '/home/logs';
//error_log(print_r($_FILES, 1), 3, $logs . '/export16.log');
try
{
$data = file_get_contents('php://input'); // EMPTY!!!!
error_log(print_r(count($data), 1), 3, $logs . '/export16.log');
}
catch(Exception $e)
{
error_log(print_r($data, 1), 3, $logs . '/export16err.log');
}
}
);
使用的NodeJS请求模块:
fs.createReadStream('myfile.zip')
.pipe
(
request.post
(
UPLOAD_URL,
function (error, response, body)
{
//console.log(response);
if (!error && response.statusCode == 200)
{
//console.log(repons);
}
}
)
);
也试图与此代码:如在该文档中使用解释表单数据模块
var r = request.post(UPLOAD_URL, function optionalCallback (err, httpResponse, body) {
if (err) {
return console.error('upload failed:', err);
}
console.log(httpResponse);
console.log('Upload successful! Server responded with:', body);
})
var form = r.form();
form.append('my_file', fs.createReadStream('file.zip'));
他们都没有工作,我得到的数据并不在我的PHP:输入, 我看到标题的内容类型:应用程序/压缩设置,但没有别的,somethign也许是缺少什么?
_header: 'POST /api/upload HTTP/1.1\r\nhost: xyz.com\r\ncontent-type: a
pplication/zip\r\nConnection: keep-alive\r\nTransfer-Encoding: chunked\r\n\r\n',
任何想法我做错了什么?