Java 将部分转换为字符串
任何帮助都是非常感谢的,因为我现在有我的最后一年的项目 文件名很奇怪,因为Java 将部分转换为字符串,java,mysql,servlets,Java,Mysql,Servlets,任何帮助都是非常感谢的,因为我现在有我的最后一年的项目 文件名很奇怪,因为部分类中的toString()方法。该类使用打印jvm特定实例ID的对象类的默认实现 您的零件类实现可能具有返回文件名的公共方法。试试这个: Part part = request.getPart("file"); String fileName = part.toString(); 而不是: String fileName = part.getSubmittedFileName((); (可选)您可以通过各种方式获得
部分
类中的toString()
方法。该类使用打印jvm特定实例ID的对象类的默认实现
您的零件类实现可能具有返回文件名的公共方法。试试这个:
Part part = request.getPart("file");
String fileName = part.toString();
而不是:
String fileName = part.getSubmittedFileName(();
(可选)您可以通过各种方式获得人类可读的文件名
,在请求
中引入附加属性
另外,考虑自己生成文件名,例如将随机UUID
作为文件名
。UUID文件名生成将有助于防止文件系统中的名称冲突(如果用户提交两个名称相同的不同文件怎么办?我通过添加以下代码来解决此错误:
String fileName = part.toString();
但是,如果我想托管此web应用程序,如何更改路径,使其存储在web项目的web内容文件夹中。仅添加与问题相关的代码。尽量使代码简短。我设法将其存储在web内容文件夹中,但是现在我想在浏览器上显示图像,那么我应该怎么做?阅读上面的链接,了解为什么不应该这样做,以及其中的链接如何为其提供服务。
String fileName = part.toString();
private String extractFileName(Part part) {
String contentDisp = part.getHeader("content-disposition");
String[] items = contentDisp.split(";");
for (String s : items) {
if (s.trim().startsWith("filename")) {
return s.substring(s.indexOf("=") + 2, s.length()-1);
}
}
return "";
}