【问题标题】:Node.js Uploading an Image from Single Page AppNode.js 从单页应用程序上传图像
【发布时间】:2014-04-12 03:57:33
【问题描述】:

我使用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'
        })
    });
});

【问题讨论】:

    标签: javascript ajax node.js express single-page-application


    【解决方案1】:

    您不能更改您的代码。加载所有帖子时,只需将图片的 url 发送到客户端即可。

    场景会是这样的:

    1) 您使用简单的 POST 请求上传图片。

    2) 在此运行 AJAX 调用以获取所有帖子之后,例如“/posts”。

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

    4) 使用 jquery 或其他东西重新加载视图。

    【讨论】:

      【解决方案2】:

      我遇到的问题与我的请求路由器有关,而不是请求本身。原来它不支持 Multipart/Form-Data 类型的请求。

      切换到 http-proxy,一切都自行解决了。

      节点模块 Bouncy 支持 Multipart/Form-Data 请求。

      【讨论】:

        猜你喜欢
        • 2016-04-14
        • 2011-05-27
        • 2013-09-07
        • 2021-12-03
        • 1970-01-01
        • 2019-04-01
        • 2017-10-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多