当前位置: 首页 > 知识库问答 >
问题:

导入csv文件并发送到后端

邓正真
2023-03-14

我尝试创建一个redux-react应用程序,在该应用程序中,用户可以导入一个CSV文件,然后将其存储在数据库中。现在,我在前端工作,我想在那里创建一个代码,用户可以选择一个csv文件,从他们的计算机,他们想下载,然后文件发送到后端。我已经使用csvReader读取CSV文件,但我不知道如何将数据发送到后端。我在后端使用nestJS。我想一次发送整个CSV文件,但我不知道如何解决这个问题。我是初学者你知道怎么解决我的问题吗?

共有1个答案

谭学名
2023-03-14

我不能帮助你的反应,但也许这个NestJS部分可以帮助你。您可以使用multer配置api并设置存储路径。

>

  • 创建multer选项

    // multer.ts
    
    const excelMimeTypes = [
       'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
       'application/wps-office.xlsx',
       'application/vnd.ms-excel',
    ];
    
    export const multerOptions = {
       fileFilter: (req: any, file: any, cb: any) => {
          const mimeType = excelMimeTypes.find(im => im === file.mimetype);
    
           if (mimeType) {
              cb(null, true);
           } else {
              cb(new HttpException(`Unsupported file type ${extname(file.originalname)}`, HttpStatus.BAD_REQUEST), false);
        }
    },
    storage: diskStorage({
        destination: (req: any, file: any, cb: any) => {
            const uploadPath = '/upload'; // use env var
            if (!existsSync(uploadPath)) {
                mkdirSync(uploadPath);   // create if not exists
            }
            cb(null, uploadPath);
        },
        filename: (req: any, file: any, cb: any) => {
            cb(null, file.originalname);
        },
     }),
    };
    

    导入最近创建的multerOption并使用FileInterceptor和UploadedFile装饰器获取文件。

    @Post()
    @UseInterceptors(FileInterceptor('file', multerOptions))
    uploadFile(@UploadedFile() file) {
        console.log(file) // call service or whathever to manage uploaded file.. handleFile in the example below..
    }
    

    使用xlsx库管理文件(示例)。

    handleFile(file: any): Promise<any> {
        return new Promise(async (resolve: (result: any) => void, reject: (reason: any) => void): Promise<void> => {
            try {
                const workbook = XLSX.readFile(`${uploadLocation}/${file.filename}`);
                resolve(workbook.Sheets[sheetName]);
            } catch (error) {
                reject(error);
            }
        });
    }
    

    希望有帮助!

  •  类似资料:
    • 本文向大家介绍R导入.csv文件,包括了R导入.csv文件的使用技巧和注意事项,需要的朋友参考一下 示例 使用base R导入 可以使用read.csv来包装逗号分隔的值文件(CSV),该文件可以包装read.table,但可用于sep = ","将分隔符设置为逗号。 用户友好选项file.choose允许浏览目录: 笔记 与不同read.table,read.csv默认为header = TRU

    • 问题内容: 更新 在我发布此问题之后的第二秒,由于对结果查询的语法突出显示,我看到了出了什么问题:该字符串未以闭合斜线开头。现在我将其更改为: 但是,这提出了一个新问题:为什么PDO对象没有为此向我吐出错误?手动执行查询肯定会返回一个错误,指出没有名为的字段,最后是逗号。为什么我没有收到任何错误?有任何想法吗? PS:关于解决我的问题的SO语法突出显示方面有什么想法吗?:-) 我将原始问题留作参考

    • 我需要将大型csv文件从node发送到Python。这段代码适用于小文件,但不适用于大文件。我也试过产卵过程。我不明白问题出在哪里。如果有人知道正确的代码,请分享 代码: 错误

    • 问题内容: 我正在寻找使用导入文件到SQL Server的帮助,我有几个基本问​​题。 问题: CSV文件数据的中间(例如:描述)之间可能有(逗号),那么如何进行导入处理这些数据? 如果客户端从Excel创建CSV,则用逗号括起来的数据(用双引号引起来)(如下例所示),那么导入如何处理呢? 我们如何跟踪某些行是否有不良数据,哪些导入会跳过?(导入会跳过不可导入的行) 这是带有标题的示例CSV: 和

    • 我正在寻找有关使用将文件导入SQL Server的帮助,我没有什么基本问题。 下面是带有头部的示例CSV: 和要导入的SQL语句: