Devices Feature Erweiterung
* manueller Config Upload wurde integriert *
This commit is contained in:
@@ -362,4 +362,65 @@ class DeviceModel
|
||||
endif;
|
||||
return json_decode($response);
|
||||
}
|
||||
public static function uploadFile($id, $file)
|
||||
{
|
||||
$response = "";
|
||||
|
||||
if (TT_MBI_API_ENABLE) {
|
||||
// Überprüfe, ob im $_FILES-Array ein 'files'-Eintrag vorhanden ist
|
||||
// und ob mindestens eine Datei hochgeladen wurde.
|
||||
if (!isset($_FILES['files']) || !isset($_FILES['files']['tmp_name'][0]) || empty($_FILES['files']['tmp_name'][0])) {
|
||||
return json_encode(["error" => "Dateiupload fehlgeschlagen: Keine Datei unter 'files' gefunden."]);
|
||||
}
|
||||
|
||||
// Baue die URL zusammen
|
||||
$url = TT_MBI_API_URL . TT_MBI_API_VERSION . '/deviceuploadfile/' . $id;
|
||||
|
||||
// Erstelle ein CURLFile-Objekt aus dem ersten (und evtl. einzigen) Element
|
||||
$curlFile = new CURLFile(
|
||||
$_FILES['files']['tmp_name'][0],
|
||||
$_FILES['files']['type'][0],
|
||||
$_FILES['files']['name'][0]
|
||||
);
|
||||
|
||||
// Bereite die POST-Daten vor: Der Schlüssel "file" entspricht
|
||||
// eventuell den Erwartungen der API.
|
||||
$postFields = ['file' => $curlFile];
|
||||
|
||||
// cURL-Handle initialisieren und Optionen setzen
|
||||
$curl = curl_init();
|
||||
curl_setopt_array($curl, [
|
||||
CURLOPT_URL => $url,
|
||||
CURLOPT_HEADER => true,
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_SSL_VERIFYHOST => false,
|
||||
CURLOPT_SSL_VERIFYPEER => false,
|
||||
CURLOPT_TIMEOUT => 0,
|
||||
CURLOPT_FOLLOWLOCATION => true,
|
||||
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
|
||||
CURLOPT_POST => true,
|
||||
CURLOPT_POSTFIELDS => $postFields,
|
||||
CURLOPT_HTTPHEADER => [
|
||||
'Authorization: Bearer ' . TT_MBI_API_KEY
|
||||
]
|
||||
]);
|
||||
|
||||
// Führe die Anfrage aus
|
||||
$response = curl_exec($curl);
|
||||
|
||||
// Fehlerbehandlung: Bei einem cURL-Fehler gebe diesen als JSON zurück
|
||||
if (curl_errno($curl)) {
|
||||
$error_msg = curl_error($curl);
|
||||
curl_close($curl);
|
||||
return json_encode(["error" => $error_msg]);
|
||||
}
|
||||
|
||||
// Schließe den cURL-Handle
|
||||
curl_close($curl);
|
||||
}
|
||||
|
||||
// Dekodiere die Antwort und gebe sie zurück
|
||||
return json_decode($response);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user