Busboy遇到问题且找不到Content-Type

恩里克·GF

在此处输入图片说明我在尝试构建的busboy软件包中遇到一些麻烦,我正在尝试构建这些应用程序,以便将图像从我的Firebase上传/上传到我的Firebase ...已经尝试查看一些可能的解决方案,它们具有相同的问题,但代码可能不同而且没有用。我可以和我分享我的东西,所以您可以给我一个关于出什么问题的想法吗?这行:

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp()
const path = require('path');
const os = require('os');
const cors = require('cors')({ origin: true });
const BusBoy = require('busboy')
const fs = require('fs');
const gcConfig = {
    projectId: 'meeting-scheduler-9cee1',
    keyFilename: "meeting-scheduler-9cee1-firebase-adminsdk-3unr4-09df5fe69a.json"
}
const { Storage } = require("@google-cloud/storage");


exports.upLoadFile = functions.https.onRequest((request, response) => {
    cors(request, response,() => {
        const busBoy = new BusBoy({ headers: request.headers});
        let uploadData = null;
        if (request.method !== "POST") {
            return response.status(500).json({
                message: 'Not Allowed!!'
            })
        }

        // if (!request.headers['Content-Type']){
        //     return next(new Error('Bad request'));
        // }
        //   else
        //    next();

        busBoy.on('file', (fieldname, file, filename, encoding, mimetype) => {
            const filepath = path.join(os.tmpdir(), filename);
            uploadData = { file: filepath, type: mimetype };
            file.pipe(fs.createWriteStream(filepath));
        });
        busBoy.on('finish', () => {
            const bucket = gcs.bucket('meeting-scheduler-9cee1.appspot.com');
            bucket
                .upload(uploadData.file, {
                    uploadType: 'media',
                    metadata: {
                        metadata: {
                            contentType: uploadData.type
                        }
                    }
                })
                .then(() => {
                    response.status(200).json({
                        message: 'It Works!'
                    });
                })
                .catch(err => {

                    response.status(500).json({
                        error: err
                    })
                })
    });
    busBoy.end(request.rawBody);


});

}); 

每当我在firebase de error中触发该函数时,都是相同的,我也共享它:

Error: Missing Content-Type
    at new Busboy (/srv/node_modules/busboy/lib/main.js:23:11)
    at cors (/srv/index.js:58:24)
    at cors (/srv/node_modules/cors/lib/index.js:188:7)
    at /srv/node_modules/cors/lib/index.js:224:17
    at originCallback (/srv/node_modules/cors/lib/index.js:214:15)
    at /srv/node_modules/cors/lib/index.js:219:13
    at optionsCallback (/srv/node_modules/cors/lib/index.js:199:9)
    at corsMiddleware (/srv/node_modules/cors/lib/index.js:204:7)
    at exports.upLoadFile.functions.https.onRequest (/srv/index.js:57:5)
    at cloudFunction (/srv/node_modules/firebase-functions/lib/providers/https.js:49:9)
凯西·A

自己撞到这个。事实证明,busboy模块中的main.jscontent-type代替进行检查Content-Type,因此未找到标头。通过修复main.js中的大小写(在大多数情况下这不是可行的解决方案)来确认这是问题所在,然后构造函数调用按我的要求工作。

显然,这是以前提出的,但是问题已关闭(链接)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

延迟加载模块时遇到问题(找不到模块)

来自分类Dev

找不到PostgreSQL命令psql,添加到$ PATH时遇到问题

来自分类Dev

通过pyCharm Windows 8安装scipy时遇到问题-找不到lapack / blas资源

来自分类Dev

集成Play游戏服务时遇到问题(找不到特定版本的android支持库)

来自分类Dev

编译BFLT Utils时遇到问题:尽管已安装,但找不到libiberty.h

来自分类Dev

找不到文件异常---将文件引用传递给RMI客户端时遇到问题

来自分类Dev

在加载函数时遇到问题,几乎我定义的所有内容都会返回找不到该对象的错误?

来自分类Dev

dyld:找不到符号:_PyBaseObject_Type

来自分类Dev

IgnoreCase遇到问题

来自分类Dev

.bind遇到问题

来自分类Dev

JOPtionPane遇到问题

来自分类Dev

HEREDOC遇到问题

来自分类Dev

jmHighlight遇到问题

来自分类Dev

chmod遇到问题

来自分类Dev

在tkinter遇到问题

来自分类Dev

“ .gitignore”遇到问题

来自分类Dev

chmod遇到问题

来自分类Dev

DispatcherTimer遇到问题

来自分类Dev

Libtcodpy遇到问题

来自分类Dev

cvc-complex-type.2.4.c:匹配的通配符很严格,但是找不到元素'bean'的声明-Spring config问题

来自分类Dev

Sage在置换元素上找不到cycle_type()属性

来自分类Dev

suds:TypeNotFound:找不到在WSDL中定义的Type的类型

来自分类Dev

找不到uri [/ <index> / <type> /]和方法[PUT]的处理程序

来自分类Dev

在Android Lollipop上找不到Sensor.TYPE_STEP_DETECTOR

来自分类Dev

Spring Boot-从type []中找不到反向引用属性

来自分类Dev

suds:TypeNotFound:找不到在WSDL中定义的Type的类型

来自分类Dev

致命错误:在构建clang示例时,找不到'type_traits'文件#include <type_traits>

来自分类Dev

Clojure宏遇到问题

来自分类Dev

多个NSURLConnection遇到问题

Related 相关文章

  1. 1

    延迟加载模块时遇到问题(找不到模块)

  2. 2

    找不到PostgreSQL命令psql,添加到$ PATH时遇到问题

  3. 3

    通过pyCharm Windows 8安装scipy时遇到问题-找不到lapack / blas资源

  4. 4

    集成Play游戏服务时遇到问题(找不到特定版本的android支持库)

  5. 5

    编译BFLT Utils时遇到问题:尽管已安装,但找不到libiberty.h

  6. 6

    找不到文件异常---将文件引用传递给RMI客户端时遇到问题

  7. 7

    在加载函数时遇到问题,几乎我定义的所有内容都会返回找不到该对象的错误?

  8. 8

    dyld:找不到符号:_PyBaseObject_Type

  9. 9

    IgnoreCase遇到问题

  10. 10

    .bind遇到问题

  11. 11

    JOPtionPane遇到问题

  12. 12

    HEREDOC遇到问题

  13. 13

    jmHighlight遇到问题

  14. 14

    chmod遇到问题

  15. 15

    在tkinter遇到问题

  16. 16

    “ .gitignore”遇到问题

  17. 17

    chmod遇到问题

  18. 18

    DispatcherTimer遇到问题

  19. 19

    Libtcodpy遇到问题

  20. 20

    cvc-complex-type.2.4.c:匹配的通配符很严格,但是找不到元素'bean'的声明-Spring config问题

  21. 21

    Sage在置换元素上找不到cycle_type()属性

  22. 22

    suds:TypeNotFound:找不到在WSDL中定义的Type的类型

  23. 23

    找不到uri [/ <index> / <type> /]和方法[PUT]的处理程序

  24. 24

    在Android Lollipop上找不到Sensor.TYPE_STEP_DETECTOR

  25. 25

    Spring Boot-从type []中找不到反向引用属性

  26. 26

    suds:TypeNotFound:找不到在WSDL中定义的Type的类型

  27. 27

    致命错误:在构建clang示例时,找不到'type_traits'文件#include <type_traits>

  28. 28

    Clojure宏遇到问题

  29. 29

    多个NSURLConnection遇到问题

热门标签

归档