【发布时间】:2019-04-30 09:11:16
【问题描述】:
我想提取文件路径然后可以上传到谷歌驱动器。如何从 MultipartFile 中获取路径??
//logger.info(""+uploadFile.getClass().getResource("").getFile().getPath());
//System.out.println(uploadFile.getClass().getResource("").getPath());
还尝试将 MultipartFile 转换为文件,但由于“import com.google.api.services.drive.model.File;”而无法“import java.io.File”无法兼容。我认为。已经经常使用 drive.model.File。
@Override
public int uploadFile(HttpSession session, MultipartFile uploadFile) throws Exception {
// TODO Auto-generated method stub
File fileMetadata = new File();
Drive driveService = getCredential(session);
fileMetadata.setName(uploadFile.getOriginalFilename());
logger.info(uploadFile.getResource().getFile().getAbsoluteFile().getPath());
//logger.info(""+uploadFile.getClass().getResource("").getFile().getPath());
//System.out.println(uploadFile.getClass().getResource("").getPath());
java.io.File filePath = new java.io.File("need to input file path here");
FileContent mediaContent = new FileContent("image/jpeg", filePath);
File file = driveService.files().create(fileMetadata, mediaContent).setFields("id").execute();
System.out.println("File ID: " + file.getId());
return 0;
}
servlet [appServlet] 在路径 [] 的上下文中的 Servlet.service() 引发异常 java.io.FileNotFoundException:MultipartFile 资源 [uploadFile] 无法解析为绝对文件路径
我可以从参数中的 MultipartFile 中获取名称、大小,因此它存在,但我如何从中获取路径??
【问题讨论】:
-
多部分文件只是用于传输的抽象。它有字节、名称和类型等。但它不知道哪个是源,它真的是一个文件(写入物理驱动器上的字节)......你不能在这一点上获取这些信息,除非您以某种方式传递它(这意味着您必须在创建时将它与多部分捆绑在一起)。检查MultipartFile:: getOriginalFilename 是否对您有用。
-
这是我选择上传到驱动器的本地文件。我放弃了获得路径。谢谢你的建议!