gpt4 book ai didi

java - 将文件上传到 Spark Java

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

我正在尝试创建一个包含上传文件的文件夹。我见过一些将文件保存到绝对文件夹的示例,例如 D:/tmp 或主目录。我的问题是我试图将上传的文件放入项目文件夹内的文件夹中。 Upload folder should contains uploaded files

我还尝试使用这样的方式获取项目文件夹:

    public static String getProjectFolder(){
return System.getProperty("user.dir")+"/";
}

结果变成这样,并且在Html文件中找不到文件异常!

http://localhost:1234/Users/USER_NAME/Documents/java/PROJECT_NAME/upload/genres/action.jpg

将文件夹添加到我的项目中的最佳方法是什么?或者我应该使用硬编码文件夹吗?

最佳答案

您需要使用 staticFiles.externalLocation() 将要上传文件的文件夹设置为静态文件文件夹

客户端可以访问的唯一文件夹(无论是从中获取内容还是上传内容)都是您使用静态文件位置 API staticFiles.externalLocation() 设置的文件夹。您还可以查看 here 的示例.

当我在本地运行服务器时,我将其定义为:

staticFiles.externalLocation(System.getProperty("user.dir") + "/src/main/resources");

这与您的问题有关。

<小时/>

不过,您可能会遇到问题。因为现在您可能有两个想要公开的位置:

  • 资源文件夹(包含所有 JavaScript、CSS 等。通常为 /src/main/resources)
  • 上传文件夹(让用户上传文件)

将这两个位置放在同一位置并不是一个好的做法。我设法通过在公共(public)文件夹内创建一个名为 files 的符号链接(symbolic link)来解决这个问题。

abcmbp:resources abc$ pwd
/Users/abc/dev/wspace/proj1/src/main/resources

abcmbp:resources abc$ ls -l files
lrwxr-xr-x 1 abc staff 27 Mar 3 21:20 files -> /Users/abc/appUploadFolder/

然后,在上传路径的后处理中,我将此文件夹作为目标,这样我就可以将资源和上传的文件分开。

关于java - 将文件上传到 Spark Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44579094/

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