在javaWEB开发中,文件上传有许多插件和方法,但是,本质上都是对数据流(二进制的数据流)的操作;
首先,学习最原始的文件上传原理:form表单+Servlet;
页面要点:form表单的<input type="file" name="fileNme" enctype="multipart/form-data" />
servlet要点:
//从request当中获取流信息(包含了表单提交的所有信息)
InputStream fileSource = req.getInputStream();
String tempFileName = "E:/tempFile";
//tempFile指向文件
File tempFile = new File(tempFileName);
//outputStram文件输出流指向这个文件(如果没有,会自动新建文件)
FileOutputStream outputStream = new FileOutputStream(tempFile);
byte b[] = new byte[1024];
int n;
while(( n = fileSource.read(b)) != -1){
outputStream.write(b, 0, n);
}
//关闭输出流、输入流
outputStream.close();
fileSource.close();
然后,使用框架或者插件来上传文件;请参考我写的相关文件传输的文章