Я синхронизирую каталог Centos MP3 с общей папкой Dropbox. Когда я копирую файлы MP3 в папку в Windows, все хорошо. Когда я загружаю из Centos, используя PHP-скрипт и интерфейс REST, приходят файлы, но они имеют больший размер и пропускают теги. Я все еще могу воспроизводить файлы, так что это не просто повреждение файла. Я открываю файл в двоичном режиме в сценарии PHP. Вот соответствующий код:
$path = $this->dropboxPath($root, $subDir, $fileName);
$uri = "https://api-content.dropbox.com/1/files_put/auto/$path";
$lclPath = storage_path() . "/$root/$subDir/$fileName";
$fd = fopen($lclPath, 'rb');
$this->putDropbox($uri, [
'overwrite' => 'true'
], $fd
);
private function putDropbox($uri, $parms, $fd) {
$uri = $uri . "?" . http_build_query($parms);
$client = new GuzzleHttp\Client();
$req = $client->createRequest('PUT', $uri, [
'exceptions' => true,
'body' => [
'file_filed' => $fd
]
]);
$req->setHeader('Authorization', 'Bearer ' . $this->token);
try {
$resp = $client->send($req);
return $resp;
}
catch(Exception $e) {
Log::error($e->getRequest());
if($e->hasResponse()) {
Log::error($e->getResponse());
}
}
}
Задача ещё не решена.
Других решений пока нет …