第一步:前端内容

 <!-- 上传视频 -->
                <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();
			}
		}

 

收藏 打印