【问题标题】:How to name a file parameter when uploading an image with node request?使用节点请求上传图像时如何命名文件参数?
【发布时间】:2013-12-07 00:29:16
【问题描述】:

我正在使用请求模块 (https://npmjs.org/package/request) 来获取图像,并且我想将其通过管道传输到第三方 api。

类似这样的:

request('http://original.image.url/image.png').pipe(request.post('http://some.api/upload'));

现在,我不知道该怎么做。

  1. 如何命名 post 参数?

  2. 如何添加其他表单字段,如 API 密钥和其他数据?

  3. 如何使我的 post 请求的标头为“multipart/formdata”?

【问题讨论】:

    标签: node.js upload request


    【解决方案1】:

    https://github.com/mikeal/request#forms

    对于 multipart/form-data,我们使用 @felixge 的 form-data 库。您无需担心通过管道传递表单对象或设置标头,request 会为您处理。

    var r = request.post('http://service.com/upload')    
    var form = r.form()    
    form.append('my_field', 'my_value')    
    form.append('my_buffer', new Buffer([1, 2, 3]))     
    form.append('my_file', fs.createReadStream(path.join(__dirname, 'doodle.png'))     
    form.append('remote_file', request('http://google.com/doodle.png'))     
    

    另见

    https://github.com/felixge/node-form-data

    【讨论】:

    • 太好了,谢谢。我确实尝试过,但被卡住了。完成表单后如何发起请求?
    • 问得好,我假设将管道方法引入request.post(...) 会启动form.submit 方法,如果我今天有时间的话我会玩一个例子让你知道。
    猜你喜欢
    • 1970-01-01
    • 2021-10-25
    • 1970-01-01
    • 1970-01-01
    • 2017-08-15
    • 1970-01-01
    • 2023-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多