Multipart / Form-Data Post - Java Spring

时间:2013-01-10 13:02:34

标签: java spring post multipartform-data

所以,我是一个真正的Java初学者..我正在做一个有很多工作和研究的应用程序......

事情是这样的。我需要用multipart / form-data发布一些信息...我以前用Json HashMap做的。但是不知道要使用哪个对象......这是我的动作控制器帖子:

HashMap<String, ContentDTO> cnt = new HashMap<String, ContentDTO>();

        ContentDTO contentDTO = new ContentDTO();
        contentDTO.setExternal_id("CNT1");
        contentDTO.setTemplate_type_id(103);
        contentDTO.setChannel_id("CHN1");
        contentDTO.setTitle("Conteudo1");
        contentDTO.setText("Conteudo teste 1");
        RulesDTO rules = new RulesDTO();
        SimpleDateFormat publish_date = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss-SSS");
        java.util.Date pdate = publish_date.parse("2012-12-28 11:18:00-030");
        java.sql.Timestamp pubdate = new java.sql.Timestamp(pdate.getTime());
        rules.setPublish_date(pubdate);
        SimpleDateFormat expiration_date = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss-SSS");
        java.util.Date edate = expiration_date.parse("2013-12-28 11:18:00-030");
        java.sql.Timestamp expdate = new java.sql.Timestamp(edate.getTime());
        rules.setExpiration_date(expdate);
        rules.setNotify_publish(true);
        rules.setNotify_expiration(false);
        rules.setHighlihted(true);

        contentDTO.setRules(rules);

        InteractionsDTO interactions = new InteractionsDTO();
        interactions.setAllow_comment(true);
        interactions.setAuto_download(false);

        contentDTO.setInteractions(interactions);


        cnt.put("content",contentDTO);




        HttpEntity<HashMap<String, ContentDTO>> request = new HttpEntity<HashMap<String, ContentDTO>>(cnt, httpHeaders);

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

由于您需要使用multipart上传,我认为您必须使用File对象,特别是Spring中的 MultipartFile

使用Spring,你必须使用Spring Controller在UI层工作,没有必要管理HttpEntity。只需在配置文件中声明多部分解析器。

<beans>
<bean id="multipartResolver"
    class="org.springframework.web.multipart.commons.CommonsMultipartResolver"/>
<!-- Declare explicitly, or use <context:annotation-config/> -->
<bean id="fileUploadController" class="examples.FileUploadController"/>

</beans>

这是从official Spring 3 Documentation中提取的。你可以查看一些例子。在这里,我将再给您一些:Spring 3 File Upload ExampleSpring MVC file upload

最后我建议你使用MVC模式。不要在UI层内创建DTO并使用它的访问者,在业务层中创建服务或Facade来做到这一点。