将 csv 文件传递​​给 SpringBoot java 服务器

我的 reactjs 前端有一个类型为 file 的输入字段。我想上传一个 CSV 文件并将其发送到我使用 SpringBoot 的服务器。一旦该文件被提取到我的后端,我就遇到了如何获取该文件的问题。


这是我在渲染方法中的文件输入:


<input

    accept=".csv"

    type="file"

    onChange={this.handleChange}

/>

<Button primary onClick={this.handleSubmit}> Submit </Button>

处理提交:


handleSubmit(event) {

        event.preventDefault();


        let formData = new FormData();

        formData.append('file', this.state.csv);

        fetch('http://localhost:8080/ingest', {

                method: 'POST',

                body: formData

            })

            .then((res) => {

                    var promiseStatus = res.text();

                    promiseStatus.then(function (value) {

                        console.log(value);

                    });

                })

}

我的后端控制器是


@PostMapping(INGEST_URL)

public String ingestDataFile(@RequestBody ??? response) {

    return "temporary return";

}

应该拿什么ingestDataFile()作为requestBody,比如说,打印文件的内容。


Qyouu
浏览 150回答 2
2回答

一只斗牛犬

参数应该是:@PostMapping(INGEST_URL)public String ingestDataFile(@RequestParam("file") MultipartFile file) {&nbsp; &nbsp; System.out.println("Name is::: " + file.getName());&nbsp; &nbsp; // Get file in byte[] using file.getBytes()&nbsp; &nbsp; storeCSVInDbServer(file);&nbsp;&nbsp; &nbsp; return "temporary return";}如果要将文件存储在数据库服务器中,可以将其存储在数据库的 BLOB 列中。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java