文件上传的实现
Posted FuckJava
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件上传的实现相关的知识,希望对你有一定的参考价值。
//文件上传
// 1. 获取Part对象 request.getPart("name"); name代表的是file文件域的name属性值
Part part = null;
try {
part = req.getPart("img");
// 2. 通过Part对象获取上传文件的文件名 (从头部信息中获取上传的文件名)
String header = part.getHeader("Content-Disposition"); //得到一个字符串 “ form-data:name="img"; filename="xx.ong"”
// 获取具体的请求头对应的值
String str = header.substring(header.lastIndexOf("=") + 2);// 去掉= 和" filename="filename.jpg"
// 获取上传的文件名
String fileName = str.substring(0, str.length() - 1); //去掉后面的引号;"form-data; name="fieldName"; filename="filename.jpg""
// 3. 判断文件名是否为空
if (!StrUtil.isBlank(fileName)) {
// 如果用户上传了头像,则更新用户对象中的头像
user.setHead(fileName);
// 4. 获取文件存放的路径 WEB-INF/upload/目录中
String filePath = req.getServletContext().getRealPath("/WEb-INF/upload/");
// 5. 上传文件到指定目录
part.write(filePath + "/" + fileName);
}
} catch (IOException e) {
e.printStackTrace();
}
以上是关于文件上传的实现的主要内容,如果未能解决你的问题,请参考以下文章
Alamofire 文件上传出现错误“JSON 文本未以数组或对象开头,并且允许未设置片段的选项”
ajaxFileUpload上传带参数文件及JS验证文件大小