String fileType = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); getOriginalFilename报错
时间: 2023-08-26 20:01:01 浏览: 34
根据您提供的信息,`file.getOriginalFilename()`方法报错,可能是因为`file`对象为空或者没有正确初始化。请确保您传入的`file`对象是有效的,并且已经正确初始化。此外,还需要确保文件名中包含正确的后缀名,否则可能会导致`lastIndexOf()`方法返回-1,从而导致截取后缀名的代码报错。建议您检查代码中相关部分的逻辑和数据,以确保文件对象和文件名的正确性。
相关问题
public String viewofficetopdfFile(String filename, HttpServletRequest request, HttpServletResponse response, Model model) throws Exception { if (null!=filename && !"".equals(filename)) { File filetemp=new File(rootPath+"temp/"); if(!filetemp.exists()){//如果文件夹不存在 filetemp.mkdir();//创建文件夹 } // 目标文件路径 String fileName=filename; String filePath =rootPath+"/uploadfile/specification/emerresources/"+filename; String filePath_pdf =rootPath+"temp/"+filename; /* 1)获得文件名后缀 */ filePath=filePath.replace("//", "/"); String ext = ""; if (!"".equals(fileName) && fileName.contains(".")) { ext = fileName.substring(fileName.lastIndexOf(".") + 1, fileName.length()).toUpperCase(); } /* 2)根据文件类型不同进行预览 */ /* 预览图片 */ if ("PDF".equals(ext)) { model.addAttribute("filetype", "office"); model.addAttribute("fileurl", fileName); }else{ model.addAttribute("filetype", "error"); model.addAttribute("fileurl", ""); } }else{ model.addAttribute("filetype", ""); model.addAttribute("fileurl", ""); } return "/knowledge/pdf_view"; }这段代码什么意思
这段代码是一个Java方法,它将指定的文件转换为PDF格式,然后在web页面中预览。该方法接受文件名、Http请求、Http响应和模型对象作为参数。首先,它检查文件名是否为空,如果不为空,则创建一个名为“temp”的文件夹。然后,它获取目标文件的路径,并将其转换为PDF格式并存储在“temp”文件夹中。最后,根据文件类型的不同,它将预览所需的信息添加到模型对象中,并返回一个web页面的路径。如果文件名为空,则返回一个空字符串。
java file获取文件类型
可以使用Java的File类获取文件类型。具体步骤如下:
1. 创建一个File对象,指定要获取类型的文件路径。
2. 调用File对象的getName()方法获取文件名。
3. 调用String类的substring()方法获取文件的后缀名。
4. 根据后缀名判断文件类型。
下面是示例代码:
```java
import java.io.File;
public class FileTypeDemo {
public static void main(String[] args) {
File file = new File("path/to/file");
String fileName = file.getName();
String fileType = fileName.substring(fileName.lastIndexOf(".") + 1);
if ("pdf".equalsIgnoreCase(fileType)) {
System.out.println("文件类型为PDF");
} else if ("docx".equalsIgnoreCase(fileType) || "doc".equalsIgnoreCase(fileType)) {
System.out.println("文件类型为Word文档");
} else if ("xlsx".equalsIgnoreCase(fileType) || "xls".equalsIgnoreCase(fileType)) {
System.out.println("文件类型为Excel文档");
} else {
System.out.println("未知文件类型");
}
}
}
```
在实际应用中,需要根据具体的业务需求来判断文件类型,上面的示例只是一个简单的演示。