2016-06-19 2 views
2

Ich muss Daten vom Web-Browser zu lokalen FS senden. Für das Senden von Daten Ich bin mit Vue-JS componentWie Dateien mit vibed in lokales Dateisystem geladen werden?

<file-upload class="my-file-uploader" name="myFile" id="myCustomId" action="/upload" multiple>Inside Slot Text</file-upload> 

Meiner Server-Seite basierend auf vibed. Aber ich kann kein Beispiel finden, wie binäre Daten in lokale FS gespeichert werden.

router.any("/upload", &upload);  
... 
void upload(HTTPServerRequest req, HTTPServerResponse res) 
{ 

} 

Es ist scheint, dass ich HTTPServerRequest .files verwenden sollte, Aber ich kann nicht verstehen, wie es zu benutzen. Benutzer-Upload dauert mehrere Dateien.

Antwort

3

Sie finden viele Beispiele innerhalb der Vibe.d Github repository.

Zum Beispiel gibt es eine kleine uploader.

router.post("/upload", &uploadFile); 

... 

void uploadFile(scope HTTPServerRequest req, scope HTTPServerResponse res) 
{ 
    auto pf = "file" in req.files; 
    enforce(pf !is null, "No file uploaded!"); 
    try moveFile(pf.tempPath, Path(".") ~ pf.filename); 
    catch (Exception e) { 
     logWarn("Failed to move file to destination folder: %s", e.msg); 
     logInfo("Performing copy+delete instead."); 
     copyFile(pf.tempPath, Path(".") ~ pf.filename); 
    } 

    res.writeBody("File uploaded!", "text/plain"); 
} 

Ich weiß nicht viel über Vue.js, aber it seems sie verwenden zu file.

Verwandte Themen