上传下载代码与上传代码在ssm框架中的问题解决

前端代码:

    <body>
    <h1>success</h1>
    <h2>上传日志文件</h2>
    <form action="/logfile/upload" method="post" enctype="multipart/form-data">
        <input type="file" name="uploadFile" value="post">
        <input type="submit" value="提交">
    </form>
    <h2>下载日志文件</h2>
    <form action="/logfile/download" method="post">
        <input type="text" name="playerId" value="post">
        <input type="submit" value="提交">
    </form>
    </body>

后台代码:

package com.dianping.controller;
import com.dianping.model.AddResult;
import com.dianping.utils.PropertiesUtil;
import org.apache.commons.io.FileUtils;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
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.commons.CommonsMultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.Properties;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * Created by dc on 2017/3/1.
 */
@Controller
@RequestMapping("logfile")
public class LogfileUploadController {

    @RequestMapping("upload")
    @ResponseBody
    public Object upload(@RequestParam("uploadFile") CommonsMultipartFile uploadFile){
/*或者 public Object upload(MultipartFile uploadFile){*/
        AddResult addResult = new AddResult();
        String path=PropertiesUtil.getValue("logFileAddr")+uploadFile.getOriginalFilename();
        File newFile=new File(path);
        if(newFile.exists()){
            newFile.delete();
        }
        if(!newFile.exists()){
            newFile.mkdirs();
        }
        try {
            uploadFile.transferTo(newFile);
            addResult.setStatus(200);
        } catch (IOException e) {
            e.printStackTrace();
            addResult.setStatus(400);
        }

        return addResult;
    }

@RequestMapping("/download")
    public ResponseEntity<byte[]> download(HttpServletRequest request){
        String fileName = request.getParameter("playerId");
        HttpHeaders headers = new HttpHeaders();
            try {
                //headers.setContentDispositionFormData("myfile", fileName+".zip");//只能下载zip文件
                headers.setContentDispositionFormData("myfile", fileName);
                headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
                // 获取物理路径
                //String filePath = PropertiesUtil.getValue("logFileAddr")+fileName+".zip";
                String filePath = PropertiesUtil.getValue("logFileAddr")+fileName;
                File pic = new File(filePath);
                return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(pic), headers, HttpStatus.CREATED);
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }
        }
}

ssm框架中上传后台接口报错问题:
https://blog.****.net/u011692041/article/details/51660030
上传下载代码与上传代码在ssm框架中的问题解决
上传下载代码与上传代码在ssm框架中的问题解决

@RequestMapping(value = "uploadFiles")
	public String testPostFiles(@RequestParam("files") MultipartFile files[], String name, String pass) {
 
	for (int i = 0; i < files.length; i++) {
		System.out.println("第" + (i + 1) + "个文件");
		System.out.println("file-name = " + files[i].getOriginalFilename());
		System.out.println("file-length = " + files[i].getSize() + "\n");
	}

	System.out.println("name = " + name);
	System.out.println("pass = " + pass);

	return "success";
}

<body>
	<form enctype="multipart/form-data" action="test/uploadFile"
		method="POST">
		name: <input type="text" name="desc" /> file: <input type="file"
			name="file" /> <input type="submit" value="提交" />
 
	</form>
</body>


<bean name="multipartResolver"
		class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
		<property name="defaultEncoding" value="UTF-8"></property>
</bean>

(如果我的文章可以帮到各位,请各位给点个小心心支持下,我会发表更多文章,尽请期待)