java - ExtJS 文件上传响应?

标签 java file-upload extjs httpresponse

我正在尝试通过 Web 界面验证某些文件的内容,并使用响应来启用/禁用其他一些功能……例如保存按钮。我已经了解了提交和文件处理( stub ),但我似乎无法让我的回复正常工作。

问题:响应时试图让用户下载包含响应内容的文件。我只想将响应传递给要处理的成功函数。

JS函数代码:

function validateCopybook() {
        //submit values. 
        console.log("validating");
        if (this.getForm().isValid()) {
            this.getForm().submit({
            url : 'batch/validateCopybook.json',
            waitMsg : 'Validating...',
            success : function(form, action) {
                this.msg('Success', 'Processed file on the server');


                }
            });
        }
    }

服务器端代码:

public ModelAndView validateCopybook(HttpServletRequest request, HttpServletResponse response) throws Exception
{
    // Check whether we're dealing with a multipart request
    String contentHeader = request.getHeader("content-type");
    boolean isMultipart = (contentHeader != null && contentHeader.indexOf("multipart/form-data") != -1);

    if (isMultipart == false)
    {
        return Helper.errorResponse("not multipart");
    }
    else
    {
        DefaultMultipartHttpServletRequest reqM = (DefaultMultipartHttpServletRequest) request;
        MultiValueMap<String, MultipartFile> fileMap = reqM.getMultiFileMap();
        MultipartFile copyIn = fileMap.get("copy-path-in").get(0);
        MultipartFile copyOut = fileMap.get("copy-path-out").get(0);
    }

    System.out.println(response.getContentType());
    response.setContentType("application/json");

    ModelAndView mav = Helper.successResponse("success");
    return mav;
}

返回响应:

ModelAndView: reference to view with name 'json'; model is {model={data={"success":true,"info":"success","dataLength":0,"data":[]}}}

有什么想法吗?

最佳答案

好吧,我没有正确设置响应 header

 response.setContentType("application/json");

还不够。

        MappingJacksonJsonView view = new MappingJacksonJsonView();
    view.setContentType("text/html");
    Map<String, Object> responseMap = new HashMap<String, Object>();
    responseMap.put("success", true);
    ModelAndView mav = new ModelAndView(view, responseMap);

工作正常。

关于java - ExtJS 文件上传响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5485292/

相关文章:

java - 是否可以使用 Hibernate 将一个 Java 对象映射到具有 FK 关系的多个表?

java - 扩展 Struts 框架的 FilterDispatcher 是一个好的实践吗?

java - 将代码从 Oracle Forms 6i 转换为 10g

http - 如何通过管道将 Vertx 请求直接流式传输到文件

javascript - 为什么这个正则表达式不起作用即使它是有效的并且在测试代码上运行良好

javascript - GWT EXT 仅在图表中出现异常

java - 在 Docker Swarm 中运行集群时暴露 Nifi UI

php - 文件获取内容(): Content-type not specified assuming application/x-www-form-urlencoded with imgur API

extjs - 如何从sencha touch中的导航堆栈中删除特定 View ?

javascript - 如何从 initcomponent 中隐藏工具栏项