2016-08-09 62 views
3

Welche Drupal Rest API-Eigenschaft in der JSON-Anfrage steuert Drupals Dateistatus (temporär und permanent)?Welche Drupal 8.1.x Rest API-Eigenschaft in der JSON-Anfrage steuert Drupals Dateistatus (temporär und permanent)?

Ich versuche, über multipart/form-data (das heißt JSON-Daten als Anhang [hochgeladen] Datei) Drupal 8.1.x CMS hochladen. Bisher ist der Upload erfolgreich. In Drupal werden jedoch hochgeladene Dateien (über REST) ​​standardmäßig standardmäßig mit dem Status "TEMPORARY" gespeichert.

Ich möchte Drupal den Status der Datei auf "PERMANENT" setzen, wenn er meine Datei im Drupal CMS speichert. Ich habe ein wenig gesucht und herausgefunden, dass das Schlüsselwort "status" in File.php die Magie um TEMPORARY und PERMANENT erzeugt hat. Bisher habe ich darunter, die Eigenschaft "Status" in meiner Json Anfrage aber Drupal erzeugt einen Interner Fehler -> Nachricht:

"Access denied on creating field 'status'" 

nach gesetzt zu haben "Status": [{ "Wert": „1 "}]

BTW: Ich habe verschiedene Varianten der Wertdarstellung von" value "ausprobiert, das ist" 1 ", 1, true," true ", ..., da ich nicht in der Lage war zu bekommen Weitere Informationen zur API-Spezifikation für die Upload-Schnittstelle für Restdatei.

Ich habe Drupal Website nach einer Lösung gesucht, aber mit noch nicht befriedigenden Ergebnissen.

Frage: Kann jemand die JSON-Anfrage mit Status PERMANENT konstruieren?

Antwort

2

Dies ist ein Fehler, die in der folgenden Drupal-Quelldatei festgelegt werden kann:

diff --git a/src/Normalizer/FileEntityNormalizer.php b/src/Normalizer/FileEntityNormalizer.php 
index cdb1df0..3237905 100644 
--- a/src/Normalizer/FileEntityNormalizer.php 
+++ b/src/Normalizer/FileEntityNormalizer.php 
@@ -52,6 +52,7 @@ class FileEntityNormalizer extends ContentEntityNormalizer { 
    else { 
     throw new \RuntimeException(SafeMarkup::format('Failed to write @filename.', array('@filename' => $entity->getFilename()))); 
    } 
+ $entity->status = FILE_STATUS_PERMANENT; 
    return $entity; 
    } 
} 

Referenzen