otale / tale

🦄 Best beautiful java blog, worth a try
https://tale.biezhi.me
MIT License
4.86k stars 1.5k forks source link

版本v2.0.5,编辑博文,发表的时候出现IOException File name too long异常 #583

Closed zheng-zy closed 4 years ago

zheng-zy commented 4 years ago
2020/04/05 23:57:23 ERROR [   worker@thread-2 ]       c.b.s.n.HttpServerHandler :  500          GET /admin/api/articles/content/8
2020/04/05 23:57:23 ERROR [   worker@thread-2 ] c.b.m.h.DefaultExceptionHandler :  io.netty.handler.codec.http.multipart.HttpPostRequestDecoder$ErrorDataDecoderException: java.io.IOException: File name too long
        at io.netty.handler.codec.http.multipart.HttpPostStandardRequestDecoder.parseBodyAttributes(HttpPostStandardRequestDecoder.java:605)
        at io.netty.handler.codec.http.multipart.HttpPostStandardRequestDecoder.parseBody(HttpPostStandardRequestDecoder.java:360)
        at io.netty.handler.codec.http.multipart.HttpPostStandardRequestDecoder.offer(HttpPostStandardRequestDecoder.java:289)
        at io.netty.handler.codec.http.multipart.HttpPostStandardRequestDecoder.offer(HttpPostStandardRequestDecoder.java:46)
        at io.netty.handler.codec.http.multipart.HttpPostRequestDecoder.offer(HttpPostRequestDecoder.java:227)
        at com.blade.mvc.http.HttpRequest.init(HttpRequest.java:359)
        at com.blade.server.netty.HttpServerHandler.buildWebContext(HttpServerHandler.java:95)
        at com.blade.server.netty.HttpServerHandler.lambda$channelRead0$0(HttpServerHandler.java:84)
        at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602)
        at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577)
        at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:442)
        at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:462)
        at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:897)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: File name too long
        at java.io.UnixFileSystem.createFileExclusively(Native Method)
        at java.io.File.createTempFile(File.java:2024)
        at java.io.File.createTempFile(File.java:2070)
        at io.netty.handler.codec.http.multipart.AbstractDiskHttpData.tempFile(AbstractDiskHttpData.java:90)
        at io.netty.handler.codec.http.multipart.AbstractDiskHttpData.addContent(AbstractDiskHttpData.java:163)
        at io.netty.handler.codec.http.multipart.DiskAttribute.addContent(DiskAttribute.java:99)
        at io.netty.handler.codec.http.multipart.HttpPostStandardRequestDecoder.setFinalBuffer(HttpPostStandardRequestDecoder.java:614)
        at io.netty.handler.codec.http.multipart.HttpPostStandardRequestDecoder.parseBodyAttributes(HttpPostStandardRequestDecoder.java:539)
        ... 15 more
zheng-zy commented 4 years ago

已解决,升级netty-codec依赖

            <groupId>io.netty</groupId>
            <artifactId>netty-codec</artifactId>
            <version>4.1.31.Final</version>
        </dependency>