当前位置: 首页 > 知识库问答 >
问题:

Spring 3.0 MultipartFile上传

幸弘扬
2023-03-14

我正在将JavaWeb应用程序转换为Spring框架,并感谢一些关于我在文件上传方面面临的问题的建议。原始代码是用org.apache.commons.fileupload.

>

  • Spring多部分文件是否包装了组织?apache.commons.文件上传,或者我可以从我的POM文件中排除这个依赖关系?

    我看到了以下示例:

    @RequestMapping(value = "/form", method = RequestMethod.POST)
    public String handleFormUpload(@RequestParam("file") MultipartFile file) {
    
        if (!file.isEmpty()) {
            byte[] bytes = file.getBytes();
            // store the bytes somewhere
           return "redirect:uploadSuccess";
        } else {
            return "redirect:uploadFailure";
        }
    }
    

    最初我试图按照这个例子,但总是得到一个错误,因为它无法找到这个请求参数。因此,在我的控制器中,我执行了以下操作:

    @RequestMapping(value = "/upload", method = RequestMethod.POST)
    public @ResponseBody
    ExtResponse upload(HttpServletRequest request, HttpServletResponse response)
    {
       // Create a JSON response object.
       ExtResponse extResponse = new ExtResponse();
       try {
           if (request instanceof MultipartHttpServletRequest)
           {
               MultipartHttpServletRequest multipartRequest =
                            (MultipartHttpServletRequest) request;
               MultipartFile file = multipartRequest.getFiles("file");
               InputStream input = file.getInputStream();
               // do the input processing
               extResponse.setSuccess(true);
            }
        } catch (Exception e) {
            extResponse.setSuccess(false);
            extResponse.setMessage(e.getMessage());
        }
        return extResponse;
    }
    

    它正在工作。如果有人能告诉我为什么@RequestParam不适合我,我将不胜感激。顺便说一句,我确实有

        <bean id="multipartResolver"
            class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
            <property name="maxUploadSize" value="2097152"/>
        </bean>
    

    在我的servlet上下文文件中。

  • 共有3个答案

    邵兴怀
    2023-03-14

    这对我很管用。

    @RequestMapping(value = "upload.spr", method = RequestMethod.POST)
    public ModelAndView upload(@RequestParam("file") MultipartFile file, HttpServletResponse response)
    {
        //  handle file here
    }
    
    宋景福
    2023-03-14
    1. spring不依赖于共享资源文件上传,所以你需要它。如果没有,Spring将使用其内部机制
    2. 您应该将多部分文件作为方法参数传递,而不是@RequestParam(..)
    酆勇
    2023-03-14

    我不得不

    1. 添加共享资源文件上传依赖到我的pom,
    2. 添加多部分溶剂豆(在问题中提到),
    3. 在句柄格式上传方法中使用@RequestParam(“文件”)多部分文件,并且
    4. 在我的 jsp 中添加恩克类型:

    让它发挥作用。

     类似资料:
    • 我想将文件从一台服务器上传到另一台FTP服务器,以下是我的上传文件代码,但它抛出错误为: 远程服务器返回错误:(550)文件不可用(例如,找不到文件,无法访问)。 这是我的代码: 你能告诉我哪里出了问题吗?

    • 于具有上传功能的Web网页进行的操作。上传方法会因网页的设定而异。 仅能上传PS Vita专用存储卡内保存的图像。

    • 上传文件 内置的上传只是上传到本地服务器,上传到远程或者第三方平台的话需要自己扩展。 假设表单代码如下: <form action="/index/index/upload" enctype="multipart/form-data" method="post"> <input type="file" name="image" /> <br> <input type="submit" value

    • UploadTask jd.uploadFile(Object object) 将本地资源上传到服务器。客户端发起一个 HTTPS POST 请求,其中 content-type 为 multipart/form-data。 参数 Object object 属性 类型 必填 说明 url string 是 开发者服务器地址 filePath string 是 要上传文件资源的路径 (本地路径)

    • 我是android应用程序开发的新手,试图开发一个web视图应用程序,但似乎无法让文件上传工作。。。请帮忙 这是我的网页视图代码 公共类WebActive扩展了活动{ } 所以我在wv下添加了这个代码。setWebChromeClient//未记录的魔术方法覆盖//br>//如果您尝试在此处放置@override,Eclipse将对您发誓//Android 3.0 public void open

    • 问题内容: 设置INTERNET_ACCESS等后,出现此错误。 这是我测试过的代码的另一部分,仍然收到该异常 } 问题答案: “ftp.194.90.81.149”: No address associated with hostname 您收到UnknownHostException的事实意味着ftp.194.90.81.149在DNS中不是真实的主机名。我怀疑其中的数字部分是您真正想要的。即

    • import { Uploader } from 'feui'; components: { [Uploader.name]: Uploader } 基础用法 <fe-uploader :after-read="logContent"> <fe-icons type="camera" /> </fe-uploader> 设置input属性 <fe-uploader :af

    • 定义 上传组件。 图片展示 代码演示 import Upload from 'pile/dist/components/upload' const { UploadImage, UploadImageArray } = Upload; // 单张图片上传 <UploadImage onLoadSuccess={(o) => { console.log(o); }} /> // 多张图片上传(默