Java 如何从MultipartFile中提取文件路径

Java 如何从MultipartFile中提取文件路径,java,upload,drive,Java,Upload,Drive,我想提取文件路径,然后可以上传到谷歌驱动器。如何从MultipartFile获取路径 //logger.info(""+uploadFile.getClass().getResource("").getFile().getPath()); //System.out.println(uploadFile.getClass().getResource("").getPath()); 还尝试将多部分文件转换为文件,但无法“导入java.io.File”,因为“导入com.google

我想提取文件路径,然后可以上传到谷歌驱动器。如何从MultipartFile获取路径

    //logger.info(""+uploadFile.getClass().getResource("").getFile().getPath());
    //System.out.println(uploadFile.getClass().getResource("").getPath());
还尝试将多部分文件转换为文件,但无法“导入java.io.File”,因为“导入com.google.api.services.drive.model.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:无法将多部分文件资源[uploadFile]解析为绝对文件路径


我可以从参数中的MultipartFile中获取名称、大小,这样它就存在了,但如何从中获取路径???

您不需要文件路径就可以将文件上载到任何地方。改用
multipartFile.getInputStream()
multipartFile.getBytes()
。实际上,在获取文件时,您无法知道文件的路径(这不是一个可靠的规则,而是一个依赖于浏览器的功能)

多部分文件只是用于传输的抽象。它有字节、名称和类型等。但它不知道哪个是源,它真的是一个文件(写在物理驱动器上的字节)。。。此时您不能获取此信息,除非您以某种方式传递它(这意味着您必须在创建多部分时将其与多部分捆绑在一起)。检查是否对您有用。这是我选择上载到驱动器的本地文件。我放弃了这条路。谢谢你的建议!我想把文件上传到谷歌硬盘。因此,我只能使用该库,但我无法获取路径,我必须上传本地文件并获取路径。谢谢你的帮助