基于springboot小程序上传视频

第一步:前端内容

 <!-- 上传视频 -->
                <cover-image src='../resource/images/camera.png' style='width:50rpx;height:50rpx;' bindtap='upload'></cover-image>

第二步:后端内容

@PostMapping(value="/upload",headers="content-type=multipart/form-data")
	public LpyJSONResult upload(String userId,
			String bgmId,String videoSeconds,
			int videoWidth,int videoHeight,
			String desc,
            @ApiParam(value="短视频",required=true)
			MultipartFile file) throws Exception {
		if(StringUtils.isBlank(userId)) {
			return LpyJSONResult.errorMsg("用户id不能为空");
		}
		//定义我们的命名空间,所有的文件都可以上传在这之下
		String fileSpace="D:/java_all/workspace-wxxcs/video-space";
		//保存到数据库中的相对路径(在命名空间每个不同用户存的文件)
		String uploadPathDB="/"+userId+"/video";
		String coverPathDB="/"+userId+"/video";
	    FileOutputStream fileOutputStream=null;
	    InputStream inputStream=null;
	    //文件上传的最终保存路径
	    String finalVideoPath="";
		try {
			if(file!=null) {
			    //获取文件名
			    String name=file.getOriginalFilename();
			    //分隔路径
			    String[] one=name.split("\\/");  
			    String fileName=one[one.length-1];
			    //获取前缀
			    String fileNamePrefix=fileName.split("\\.")[0];
			    
			    if(StringUtils.isNotBlank(fileName)) {
			    	//文件上传的最终保存路径
			    	finalVideoPath=fileSpace+uploadPathDB+"/"+fileNamePrefix+".mp4";
			    	//设置数据库保存的路径
			    	uploadPathDB += ("/"+fileNamePrefix+".mp4");
			    	coverPathDB=coverPathDB+"/"+fileNamePrefix+".jpg";
			    	File outFile = new File(finalVideoPath);
			    	if(outFile.getParentFile()!=null ||!outFile.getParentFile().isDirectory()) {
			    		//创建父文件夹
			    		outFile.getParentFile().mkdirs();
			    	}
			    	//文件输出
			    	fileOutputStream = new FileOutputStream(outFile);
			    	inputStream = file.getInputStream();
			    	IOUtils.copy(inputStream, fileOutputStream);
			    }
			}else {
				return LpyJSONResult.errorMsg("上传出错");
			}
		} catch (Exception e) {
			e.printStackTrace();
			return LpyJSONResult.errorMsg("上传出错");
		}finally {
			if(fileOutputStream!=null) {
				fileOutputStream.flush();
				fileOutputStream.close();
			}
		}

猜你喜欢

转载自blog.csdn.net/Richard_666/article/details/85091206