gpt4 book ai didi

java - Grails 3.2 文件上传错误 (FileNotFoundException )

转载 作者:行者123 更新时间:2023-12-02 02:54:53 25 4
gpt4 key购买 nike

我正在尝试在 Windows 10 上使用 Tomcat 8 运行涉及文件上传的 Grails 3.2 Web 应用程序。 Web 应用程序正确启动,但当我尝试远程上传任何文件时,我不断收到下面的文件错误。请注意,消息中存在两个绝对路径,这会导致文件规范无效。当我使用 localhost 作为 IP 地址访问主机内的应用程序时,我不会收到此错误。如有任何帮助,我们将不胜感激。

<g:uploadForm name="sstForm" controller="sstSetup" method="POST" >
<input id="w-mdf" type="file" name="wMDF" />&nbsp;&nbsp;

<div class="yui3-u-25-100" id="setup-submit">
<g:actionSubmit class="input block-page" name="submit" value="Submit" action="setupAction" onclick="return validateInput();"/>
<g:actionSubmit class="inputGrey block-page" name="cancel" value="Cancel" action="cancel"/>
</div>
</g:uploadForm>

然后在服务器端,我在 Controller 中获取 MultiPart 文件对象并调用 tranferTo 将其转换为普通文件

File fileDest = new File("Path to some destination and file name")

multipartFile.transferTo(fileDest)

这里没什么复杂的。然而,当上传来自远程位置时,它会抛出 FileNotFoundException。

Error: java.io.FileNotFoundException: D:\Users\RWSK70\Documents\Clark\CIM\Misc\Drools\DroolsIntelliJProject\drools-app\target\classes\rules\C:\Users\RWSK70\Documents\Clark\!!\CIM\Misc\Drools\DroolsIntelliJProject\drools-app\src\rules\application\1233275_RSF_v243.txt (The filename, directory name, or volume label syntax is incorrect)

最佳答案

我发现了这个问题。这是由我处理上传的多部分文件的方式引起的。 Servlet 规范为客户端提供了在调用 multipart.getOriginalFilename() 时返回文件名或文件绝对路径的余地。我错误地假设客户总是会根据经验返回简单的文件名。这是一个错误的假设。事实证明,在这一生产环境中,他们的浏览器发送的是文件的绝对路径,而不是应用程序期望的简单文件名,但效果并不理想。 – Felix Andrews 12 月 2 日 18:53

关于java - Grails 3.2 文件上传错误 (FileNotFoundException ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57083204/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com