2016-06-19 46 views
2

我需要從網絡瀏覽器發送數據到本地FS。發送數據我使用Vue-JS component如何使用vibed將文件加載到本地文件系統?

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

我的服務器端基於vibed。但我找不到如何將二進制數據保存到本地FS的示例。

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

} 

這似乎是我應該使用HTTPServerRequest .files但我不明白如何使用它。用戶上傳需要的是多個文件。

回答

3

你可以在Vibe.d Github repository中找到很多例子。

例如有一個小的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"); 
} 

我不知道很多關於Vue.js,但it seems他們使用file了。

相關問題