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

使用Spring Boot和React将映像上载到DB:解析HTTP请求头时出错

柴增
2023-03-14

反应

 doit=(e)=>{
        e.preventDefault();
        let imagefile = document.querySelector('#input');
        let formData = new FormData();
        formData.append("image", imagefile.files[0]);
        return axios.post('https://localhost:8080/fileupload', "image",formData, {
                        headers: {
                               'Content-Type': 'multipart/form-data'
                                 }
                    });
    }

<form encType='multipart/form-data'>
    <input id="input" type='file' accept="image/*"/>
     <button onClick={this.doit} type='submit'>Submit</button>
</form>

Spring靴

@PostMapping("/fileupload",consumes = MediaType.MULTIPART_FORM_DATA_VALUE))
public String fileUpload(@RequestParam("name") String name, @RequestParam MultipartFile file) {
    try {
        byte[] image = file.getBytes();
        MyModel model = new MyModel(name, image);
        int saveImage = myService.saveImage(model);
        if (saveImage == 1) {
            return "success";
        } else {
            return "error";
        }
    } catch (Exception e) {
        return "error";
    }
}

共有1个答案

章承
2023-03-14

所以实际上这个问题与你发送文件的方式有关。图像和视频与json数据不同。它们是在屏幕上创造视觉杰作的长串数字或编码文本。我并不了解所有这些,但基本上你需要做的是得到文件的位置。比如,如果使用file picker api,它允许您选择要上传的内容,您可以将这些信息存储在变量中,即“file”,然后使用JavaScript内置的fetch方法。

const genFunction = async (file) =>{
const response = await fetch(file)
const blob = await response.blob();
// then you need to send that blob to the server
try {
      const result = await requestToServer(
                                      //configuration stuff
              contentType:'image/jpg' // specify that you are sending a image
                                      // or whatever file type somehow 
             )
console.log(request) } catch (e) { ... } } 

哈哈,他们没有教我如何在编码训练营或其他什么,我没有意识到有更多的类型和事情要做这么长时间。我想出了如何让它与Amplify storage一起工作,如果有人需要,只需问一个问题,我就会提供解决方案。

这个家伙讲了很多把东西转换成你真正需要的格式的最佳方法。我提供的解决方案是最慢的,但很容易理解。

在MongoDB数据库中存储图像//基本相同的问题

https://javabeat.net/mongodb-gridfs-tutorial/

我犯了这个错误之前我不知道如何解决它,我的帮助告诉我开始存储图像在AWS s3上,这不是我要求的。我希望你能搞清楚。

 类似资料:
  • 我正在运行,刚刚检查了服务器日志,并出现了几个类似的错误。我不明白是什么导致了它,因为错误每天都在12/24小时后出现。

  • 当我试图从spring boot应用程序访问OAuth HTTPSendpoint时,我得到了以下错误,但HTTPendpoint工作得非常好 错误: 安全java配置 POM文件

  • 当向运行Jetty的RESful API发送JSON POST请求时,我正在解析请求中接收到的JSON数据,并尝试将其映射到构造函数类。当接收到的数据不在getter/setter的精确布局中时,问题就会出现。 我希望输出能够正确解析,因为API应该读取每个键并将其映射到getter和setter,这样我就可以访问它了 但是,当发送不在getter/setter的确切布局中的JSON数据时。它会导

  • 问题内容: 我已经开发了一个Restfull应用程序,我想添加另一个Web应用程序来使用其服务,因此我进行了以下Ajax调用: 我得到这个例外: 对象{readyState:0,状态:0,statusText:“ SyntaxError:无法执行’setRequestHeader’…-Origin: ‘不是有效的HTTP标头字段名称。”}错误DOMException:无法在’XMLHttpRequ

  • 问题内容: 在实现代理服务器时,我将HTTP请求作为字符串发送,如下所示: GET http:// localhost:54321 / x HTTP / 1.1 主机:localhost:54321 缓存控制:无缓存 是否有内置的类来解析此请求? 问题答案: 我对这种解析的内置支持一无所知。如果您确实需要这样的解析器,则可以签出以下库: http //hc.apache.org/index.htm

  • 我需要一些上传图像的帮助。 我有两个不同的申请 在我的专用服务器上运行的Springstart应用程序 Angulal-6 Application-在我的云服务器上运行 我需要从我的spring boot应用程序上传一个图像到Angular-6资产文件夹(资产文件夹类似于spring boot应用程序的资源文件夹) 在application.properties我已经声明上传位置,如profile