SSM实现上传音乐

第一步:前端内容

<div class="form-group">
<label class="col-md-3 control-label"><span class="field-required"> 
* </span>音乐片段</label>
    <div class="col-md-4">
	<div id="input-error">
	     <input type="hidden" id="path" name="path" class="form-control"/>
             <input id="file" type="file" name="file" data-url="<%=request.getContextPath() %>/video/bgmUpload.action" accept=".mp3"/>
												<div id="bgmContent"></div>
    </div>
	                            		
</div>
</div>

第二步:后端内容

package com.lpy.controller;

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.UUID;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;

import com.lpy.bean.AdminUser;
import com.lpy.pojo.Users;
import com.lpy.service.UsersService;
import com.lpy.utils.LpyJSONResult;
import com.lpy.utils.PagedResult;

@Controller
@RequestMapping("video")
public class VideoController {
	//进行页面跳转
	@GetMapping("/showAddBgm")
	public String login() {
		return "video/addBgm";
	}
	
	@PostMapping("/bgmUpload")
	@ResponseBody    //表示返回到前端的是json對象
	public LpyJSONResult bgmUpload(@RequestParam("file") MultipartFile[] files) throws Exception {
	
		//定义我们的命名空间,所有的文件都可以上传在这之下   File.separator 根据系统打不同的斜杠
		//linux上阿德部署路径
		//String fileSpace=File.separator+"java_all"+File.separator+"workspace-wxxcs"+File.separator+"video-space"+File.separator+"admin-bgm";
		String fileSpace="D:/java_all/workspace-wxxcs/video-space/admin-bgm";
		//保存到数据库中的相对路径(在命名空间每个不同用户存的文件)
		String uploadPathDB=File.separator+"bgm";
	    FileOutputStream fileOutputStream=null;
	    InputStream inputStream=null;
		try {
			if(files!=null && files.length>0) {
			    //获取文件名
			    String fileName=files[0].getOriginalFilename();
			    if(StringUtils.isNotBlank(fileName)) {
			    	//文件上传的最终保存路径
			    	String finalPath=fileSpace+uploadPathDB+"/"+fileName;
			    	//设置数据库保存的路径
			    	uploadPathDB += ("/"+fileName);
			    	
			    	File outFile = new File(finalPath);
			    	if(outFile.getParentFile()!=null ||!outFile.getParentFile().isDirectory()) {
			    		//创建父文件夹
			    		outFile.getParentFile().mkdirs();
			    	}
			    	//文件输出
			    	fileOutputStream = new FileOutputStream(outFile);
			    	inputStream = files[0].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();
			}
		}
		return LpyJSONResult.ok(uploadPathDB);
	}
}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值