繁体   English   中英

在Spring 2.5中使用MultipartFile上传文件中的null值

[英]null value in file upload by using MultipartFile in spring 2.5

我被困在某事上。 在Spring 2.5框架中,我想使用MultipartFile上传文件。 我有一个名为Dosya的类,其中包括MultipartFile multiDosya属性。 我的命令对象是dosya。 此外,将要上载的文件存储在数据库SQL Developer中的BLOB类型。 在jsp中,我尝试如下绑定此属性:

<spring:bind path="dosya.multiDosya">
  <input class="file" type="file" name="yuklenecekDosya" id="yuklenecekDosya" />
</spring:bind>

在onSubmit中,

 Dosya dosyaObjesi = (Dosya)command;
 MultipartFile yuklenecekDosya = dosyaObjesi.getMultiDosya();

可以毫无问题地使用commandObject dosyaObjesi,但是,

dosyaObjesi.getMultiDosya()

尽管在jsp中选择了要上载的文件,但值仍为null。

在网上搜索后,我发现下面的这一行应添加到initBinder中。

 binder.registerCustomEditor(byte[].class, new ByteArrayMultipartFileEditor());

但是,我的班级说没有此类ByteArrayMultipartFileEditor,但在spring-2.5.jar中可用。 我汇入

import org.springframework.web.multipart.*;

可以找出问题所在。 有人可以帮我吗

提前致谢。

您是否指定了表单加密类型(enctype =“ multipart / form-data”)? 有时可能是原因。

例如:

<form method="post"  name="formName" action="action.htm" commandName="object" enctype="multipart/form-data">

我已经解决了问题。 一切正常,但是,在下面的代码中

<input class="file" type="file" name="yuklenecekDosya" id="yuklenecekDosya" />

属性名称必须为${status.expression} 也就是说,就是这样的name="${status.expression}" 如果仅给出name属性值,则绑定操作将正常工作。 感谢和问候,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM