BullWark 2017-07-18 05:06 采纳率: 100%
浏览 1886
已采纳

表单文件域上传 HTTP Status500 服务器遇到了一个内部错误()阻止了它执行此请求

 package com.controller;

import java.io.File;
import java.io.IOException;
import java.io.OutputStream;

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


import org.apache.commons.io.FileUtils;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.commons.CommonsMultipartFile;

@Controller
public class FileUploadController {


    @RequestMapping("/fileupload")
public String shangchuan(
        @RequestParam(value = "file", required = false) CommonsMultipartFile file,
        HttpServletRequest request, ModelMap map) {
    String path = request.getRealPath("upload");
    String fileName = file.getOriginalFilename();
    System.out.println(path + "/" + fileName);
    File f = new File(path, fileName);

    try {
        file.transferTo(f);
    } catch (IllegalStateException e) {
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    request.setAttribute("picUrl", "upload/" + fileName);
    return "upload.jsp";

}

public static void downLoadFile(HttpServletResponse response, File file) {
    if (file == null || !file.exists()) {
        return;
    }
    OutputStream out = null;
    try {
        response.reset();
        response.setContentType("application/octet-stream; charset=utf-8");
        response.setHeader("Content-Disposition", "attachment; filename="
                + file.getName());
        out = response.getOutputStream();
        out.write(FileUtils.readFileToByteArray(file));
        out.flush();
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        if (out != null) {
            try {
                out.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}
@RequestMapping("download2.do")
public String  xiazai(HttpServletRequest request,HttpServletResponse  response){
  String fileName= request.getRealPath("/upload");
    fileName+="/460.gif"; 
    File file=new File(fileName);
  downLoadFile(response, file);

    return null;
}

}
     <form action="fileupload" method="post">
    <input type="file" name = "file">
    <input type="submit" value="UPLOAD">



    </form>
  • 写回答

1条回答 默认 最新

  • TeriMoni 2017-07-18 05:44
    关注

    form 里面添加 enctype="multipart/form-data" ,你是文件上传,要以二进制传过去。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 蓝桥杯单片机第十三届第一场,整点继电器吸合,5s后断开出现了问题
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形