【问题标题】:Take file from file system and pass it as a File object从文件系统中获取文件并将其作为 File 对象传递
【发布时间】:2013-03-01 08:57:30
【问题描述】:

我一直很高兴地使用 Play Framework (1.2.4) 与 Java 和 jQuery/javascript 的组合从网站上传文件。

在客户端,我将一个 blob 对象附加到 FormData 对象,然后将其发送到我的 Play Framework 控制器,该控制器接受该文件。我编写了一个类 UploadImg 来将此文件上传到 Amazon S3。然后我通过传入一个 File 对象和文件名(它是一个字符串)来启动该类,并调用 doUpload() 方法:

public static void myController(File f){
    UploadImg imgToUpload = new UploadImg(File file, String filename);
    imgToUpload.doUpload();
    // ...

现在我的桌面上有一堆图片,我正在编写一个“批量上传器”。我做了类似的事情:

 File img = new File("/pics/Repin 301.jpg");
 UploadImg fileToUpload = new UploadImg(img);
 fileToUpload.doUpload()

但我收到一条错误消息,告诉我我的输入为空。

【问题讨论】:

  • 文件Repin 301.jpg 似乎不存在。
  • 嗯......它存在于Finder中,将查看权限等。
  • 您能否提供更多您看到的错误/异常。

标签: java file file-upload file-io


【解决方案1】:

路径 /pics/ 看起来并不指向您的桌面,如果 pics 与您运行应用程序的位置相关,则删除前导斜杠。

试试这个以确认文件被找到:

File img = new File("/pics/Repin 301.jpg");
if(img.exists()) {
     UploadImg fileToUpload = new UploadImg(img);
    fileToUpload.doUpload()
}else{
     System.out.println("File not found");
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 2012-07-23
    • 2021-02-10
    • 2011-02-18
    • 2013-03-19
    • 2016-10-17
    • 1970-01-01
    相关资源
    最近更新 更多