java发送视频到服务器

FileInputStream   fis2 = new FileInputStream(filepath);  
     OutputStream bb= response.getOutputStream();

     byte[]   buffer = new byte[1024];  
     int  len = 0;  
              while((len=fis2.read(buffer))>0){  
                     bb.write(buffer,0,len);  
              }

fis2.read(buffer)将filepath的文件放入buffer作为内存缓冲区并获得可读的长度len,
bb.write(buffer,0,len);  然后write(buffer,0,len)写到OutputStream中,每次都是从buffer内存处的0偏移开始写,每次写len字节。

记住最后一定要关闭 outputstream  bb.close();  否则上传速度慢,就像水龙头一直开着不关,等水槽的水满了 就出问题了 
/**
	 * 上传文件
		 * @param uploadFileName
	 *          被上传的文件名称
	 * @param savePath
	 *          文件的保存路径
	 * @param uploadFile
	 *          被上传的文件
	 * @return newFileName
	 */
	public static String upload(String uploadFileName, String savePath, File uploadFile) {
		String newFileName = getRandomName(uploadFileName, savePath);
		try {
			FileOutputStream fos = new FileOutputStream(savePath + newFileName);
			FileInputStream fis = new FileInputStream(uploadFile);
			byte[] buffer = new byte[1024];
			int len = 0;
			System.out.println("111go!!!!");
			while ((len = fis.read(buffer)) > 0) {
				fos.write(buffer, 0, len);
			}
			System.out.println("222go!!!!");
			fos.close();
			System.out.println("333go!!!!");
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return newFileName;
	}
 

你可能感兴趣的:(java发送视频到服务器)