所以我一直在尝试通过Curl上传文件。我的本地服务器上的根目录中有一个txt文件。尝试时,它表示文件已成功上传,但是txt中的文本与我拥有的txt文件不同。
$postData = array(
'folderId' => '3276800',
'filename' => 'TxT_12323.txt',
'filedata' => '@847327489732984.txt',
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://192.168.1.103/services/rest/document/upload");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
curl_setopt($ch, CURLOPT_USERPWD, "admin" . ":" . "admin");
$result = curl_exec($ch);
if (curl_errno($ch))
{
echo 'Error:' . curl_error($ch);
exit();
}
echo "Upload Successful!<br><br>Return: " . $result;
curl_close($ch);
假设上载的文件与847327489732984.txt具有相同的内部文本,但是,当打开.txt时,其中仅包含“ @ 847327489732984.txt”。
因此,它没有正确上传文件。
我通过而不是
来解决此问题'filedata' => '@847327489732984.txt'
我做到了
'filedata' => file_get_contents('123.pdf')
答案 0 :(得分:1)
您应该执行类似的操作
$postData = array(
'folderId' => '3276800',
'filename' => 'TxT_12323.txt',
'filedata' => file_get_contents('847327489732984.txt'),
);
在大多数情况下,您可以将任何文件视为PHP中的字符串数据。这并不意味着您可以阅读并理解它们,但是可以在变量或输出中以这种方式表示它们,并且应该可以正常工作。