资讯专栏INFORMATION COLUMN

记一个toJSONString异常

nanfeiyan / 840人阅读

摘要:异常上下文其中为报错的地方也不是所有类型的都可以使用,要慎重一点,这里遇到要去序列化,然后就报错了。

异常
java.io.FileNotFoundException: Byte array resource [resource loaded from byte array] cannot be resolved to absolute file path
    at org.springframework.core.io.AbstractResource.getFile(AbstractResource.java:114)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at com.alibaba.fastjson.util.FieldInfo.get(FieldInfo.java:453)
    at com.alibaba.fastjson.serializer.FieldSerializer.getPropertyValueDirect(FieldSerializer.java:110)
    at com.alibaba.fastjson.serializer.JavaBeanSerializer.write(JavaBeanSerializer.java:196)
    at com.alibaba.fastjson.serializer.JSONSerializer.writeWithFieldName(JSONSerializer.java:304)
    at com.alibaba.fastjson.serializer.ASMSerializer_1_HttpEntity.write
    at com.alibaba.fastjson.serializer.ListSerializer.write(ListSerializer.java:126)
    at com.alibaba.fastjson.serializer.MapSerializer.write(MapSerializer.java:243)
    at com.alibaba.fastjson.serializer.JSONSerializer.write(JSONSerializer.java:275)
    at com.alibaba.fastjson.JSON.toJSONString(JSON.java:648)
    at com.alibaba.fastjson.JSON.toJSONString(JSON.java:590)
    at com.alibaba.fastjson.JSON.toJSONString(JSON.java:555)
上下文

其中file为MultipartFile

MultiValueMap map = new LinkedMultiValueMap();
        final String filename = file.getName();
        Path path = file.toPath();
        map.add("name", filename);
        map.add("filename", filename);

        HttpHeaders fileHeaders = new HttpHeaders();
        fileHeaders.setContentDispositionFormData("file",filename);
        ByteArrayResource contentsAsResource = new ByteArrayResource(Files.readAllBytes(path)){
            @Override
            public String getFilename(){
                return filename;
            }
        };
        map.add("file", new HttpEntity<>(contentsAsResource, fileHeaders));
     
报错的地方
JSON.toJSONString(map)

toJSONString也不是所有类型的都可以使用,要慎重一点,这里遇到file要去序列化,然后就报错了。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/70164.html

相关文章

  • Json-path学习笔<二>

    摘要:该篇主要以代码示例为主,因为上不去,看不到这个官方文档和。因为接下来的底层默认使用的就是。和功能是一致的。区别是不会抛出异常,而会抛出异常。而解析输入的文本内容依据默认的解析文本的模式。 Json-smart 该篇主要以代码示例为主,因为google上不去,看不到Json-smart这个官方文档和API。故只例举一些代码示例。因为接下来的Json-path底层默认使用的就是JsonSm...

    Soarkey 评论0 收藏0
  • Spring 异常处理

    摘要:异常抛出但是看一下报错信息,发现并不是我们期待的一个错误的状态码,而是。所以,我们需要全局异常处理,层抛出异常,直接处理,返回状态码,而不将异常抛给控制器。异常捕获后,修改测试,期待状态码为,。 控制器测试 还是上次数据不能为空的问题,写到了C层测试。 先写一行测试代码,先期待一个200,但是我们是知道的,因为没有学科类别,这肯定会抛出异常,我们就是想看看Spring捕获这个异常之后给...

    LiveVideoStack 评论0 收藏0
  • 前后端分离应用——用户信息传递

    摘要:前言记录前后端分离的系统应用下应用场景用户信息传递需求缘起照例先看看系统的一张经典架构图,这张图参考自网络在自定义异常,你是怎么处理的中已经对该架构做了简单说明,这里不再描述。 showImg(https://segmentfault.com/img/remote/1460000017839927?w=1024&h=768); 前言 记录前后端分离的系统应用下应用场景————用户信息传...

    PAMPANG 评论0 收藏0
  • springboot异步调用@Async

    摘要:异步处理方式调用之后,不返回任何数据。在有返回值的异步调用中,异步处理抛出异常,会直接抛出异常,异步任务结束,原有处理结束执行。 1.使用背景 在项目中,当访问其他人的接口较慢或者做耗时任务时,不想程序一直卡在耗时任务上,想程序能够并行执行,我们可以使用多线程来并行的处理任务,也可以使用spring提供的异步处理方式@Async。 2.异步处理方式 调用之后,不返回任何数据。 调用之...

    gityuan 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<