簡體   English   中英

Node.js從單頁應用程序上傳圖像

[英]Node.js Uploading an Image from Single Page App

我正在使用express.js 3.5.1作為我的應用程序的后端。 這只是一個基本論壇,但我希望我的用戶能夠上傳圖像。 我無法使用簡單的表單進行上傳,因為它會導致重定向。 我發現似乎唯一可行的解​​決方案是使用socketio-file-upload 我對於包含socket.io只是出於上傳圖像的猶豫。 有什么方法可以通過簡單的XMLHttpRequestAjax請求做到這一點? 也許我沒有想到的另一種方法?

這是我當前必須處理來自表單的傳入請求的服務器代碼:

app.post('/save-image', checkSession, function(req, res)
{
    actionLog( req.session.username, 'is trying to upload a file' );

    var form = new formidable.IncomingForm();

    form.parse(req, function(err, fields, files)
        {
    console.log(files);
    res.send({ error: 'not setup yet'
        })
    });
});

您不能更改代碼。 加載所有帖子時,只需將圖像的URL發送給客戶端。

該場景將如下所示:

1)您上傳帶有簡單POST請求的圖像。

2)在此運行的AJAX調用之后,獲取所有實例“ / posts”的帖子。

3)控制器返回所有帖子,例如: [{ id: 1, text: "asd", image: "yourhost.com/images/image.png"}, ...]

4)使用您的jquery或其他內容重新加載視圖。

我遇到的問題與請求路由器有關,而與請求本身無關。 原來它不支持Multipart / Form-Data類型請求。

切換到http-proxy,一切都解決了。

節點模塊Bouncy 支持Multipart / Form-Data請求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM