报错

java.io.FileNotFoundException: MultipartFile resource [file] cannot be resolved to absolute file path
        at org.springframework.core.io.AbstractResource.getFile(AbstractResource.java:138)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at com.alibaba.fastjson.util.FieldInfo.get(FieldInfo.java:544)
        at com.alibaba.fastjson.serializer.FieldSerializer.getPropertyValueDirect(FieldSerializer.java:145)
        at com.alibaba.fastjson.serializer.JavaBeanSerializer.write(JavaBeanSerializer.java:282)
        at com.alibaba.fastjson.serializer.JavaBeanSerializer.write(JavaBeanSerializer.java:149)
        at com.alibaba.fastjson.serializer.FieldSerializer.writeValue(FieldSerializer.java:320)
        at com.alibaba.fastjson.serializer.JavaBeanSerializer.write(JavaBeanSerializer.java:470)
        at com.alibaba.fastjson.serializer.JavaBeanSerializer.write(JavaBeanSerializer.java:149)
        at com.alibaba.fastjson.serializer.JSONSerializer.writeWithFieldName(JSONSerializer.java:333)
        at com.alibaba.fastjson.serializer.ASMSerializer_6_Chunk.write(Unknown Source)
        at com.alibaba.fastjson.serializer.MapSerializer.write(MapSerializer.java:271)
        at com.alibaba.fastjson.serializer.MapSerializer.write(MapSerializer.java:44)
        at com.alibaba.fastjson.serializer.JSONSerializer.write(JSONSerializer.java:285)
        at com.alibaba.fastjson.JSON.toJSONString(JSON.java:758)
        at com.alibaba.fastjson.JSON.toJSONString(JSON.java:696)
        at com.alibaba.fastjson.JSON.toJSONString(JSON.java:661)

问题原因

fastjson转换文件类型MultipartFile的参数失败

解决方式

在实体类对应字段标防止序列化的注解
@JSONField(serialize = false)

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐