1. 程式人生 > >springMVC 用query.ajax檔案上傳

springMVC 用query.ajax檔案上傳

各位大俠,請教個問題。

springMVC 檔案上傳,出錯。

頁面:

<form id="contentForm"  method="post" enctype="multipart/form-data">
                   <input type="hidden" name="type" value="$!type" />
                   <table class="tablesorter" cellspacing="0">
                       <tbody>
                          <tr>
                              <td>標題</td>
                              <td><input type="text" id="title" name="title" class="comment_text"/></td>
                          </tr>
                          <tr>
                              <td>作者</td>
                              <td><input type="text" id="author" name="author" class="comment_text" /></td>
                          </tr>
                          <tr>
                              <td>所屬類目</td>
                              <td>             <!-- style="width:155px; height:20px;" -->
                                  <select name="catId" class="comment_text">
                                      #if($categoryList)
                                          #foreach($category in $categoryList)
                                              <option value="$!category.id">$!category.name</option>
                                          #end
                                      #end
                                  </select>
                              </td>
                          </tr>
                          <tr>
                              <td>封面圖片</td>
                              <td><input type="file" id="uploadFile" name="uploadFile" class="comment_text"></td>
                          </tr>
                          #if($!type == $!cookBook)
                          <tr>
                              <td>視訊地址</td>
                              <td><input type="text" id="resourceUrl" name="resourceUrl" class="comment_text"></td>
                          </tr>
                          #end
                          <tr>
                              <td>正文</td>
                              <td>
                                  <textarea name="content" id="editor_id" style="width:1300px;height:480px;"></textarea>
                              </td>
                          </tr>
                          <tr>
                              <td><input type="button" id="save" value="儲存"/></td>
                              <td>
##                                  <input type="button" id="saveAndPush" value="儲存併發布"/>
                              <input type="button" value="取消" onclick="location.href='$urlBroker.getUrl('KariquBossStaticDomain').toString()/sns/content/list?pageNo=1&type=$!type'" /></td>
                          </tr>
                        </tbody>
                    </table>
               </form>


js:

       // 儲存
        $("#save").click(function(E){
            E.preventDefault();
            $("#contentForm").attr("action", "$urlBroker.getUrl('KariquBossStaticDomain').toString()/sns/content/add");
            //$("#contentForm").attr("enctype", "multipart/form-data");
            var url = $("#contentForm").attr("action");
            jQuery.ajax({
                type:'POST',
                async:true,
                url: url,
                data: $("#contentForm").serialize(),
                dataType:"json",
                success:function(response){
                    if(response.success){
//                        location.href = response.url;
                    }else{

                    }
                }
            })
        });

後臺部分程式碼:
    @RequestMapping(value = "/sns/content/add", method = RequestMethod.POST)
    public String createContent(Article article, String resourceUrl, MultipartFile uploadFile, HttpServletResponse response) throws IOException {
        try {
            String fileName = uploadFile.getOriginalFilename();
            String pictureUrl = null;
            // 上傳了圖片
            if (PictureValidateUtil.isPicture(fileName)) {
                // 返回上傳的圖片地址
                pictureUrl = this.uploadImage(uploadFile, article.getCatId());
            }


結果我提交 進不去後臺方法,報錯。。。。。

org.springframework.web.multipart.MultipartException: The current request is not a multipart request.

<h2>發生系統錯誤,請稍後再試</h2> <pstyle="float:right;color:white;"> org.springframework.web.multipart.MultipartException: The current request is not a multipart request. at org.springframework.web.method.annotation.RequestParamMethodArgumentResolver.assertIsMultipartRequest(RequestParamMethodArgumentResolver.java:183) at org.springframework.web.method.annotation.RequestParamMethodArgumentResolver.resolveName(RequestParamMethodArgumentResolver.java:149) at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.resolveArgument(AbstractNamedValueMethodArgumentResolver.java:82) at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:74) at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:155) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:117) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:900) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:827) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.kariqu.sns.web.boss.common.UserSessionFilter.doFilter(UserSessionFilter.java:77) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662)

相關推薦

springMVC query.ajax檔案

各位大俠,請教個問題。springMVC 檔案上傳,出錯。頁面:<form id="contentForm" method="post" enctype="multipart/form-data"> <input

springMvc Ajax 檔案

/**      * 儲存      * @param json      * @return      */     @RequestMa

SpringMVC響應檢視丶檔案丶異常處理丶攔截器

SpringMVC響應資料和結果檢視 返回值分類 返回字串 Controller方法返回字串可以指定邏輯檢視的名稱,根據檢視解析器為物理檢視的地址。 引數可以寫一個Model來儲存域物件中的值 應用例子: @Controller @Req

AmazeUI+Ajax檔案,後臺.netMVC

前端: <!--<link href="~/assets/css/amazeui.min.css" rel="stylesheet" />--> <!--<script src="~/assets/js/jquery.min.js"></s

tp3.2+layui ajax檔案(直接程式碼)

三步走 第一步:html程式碼 <div class="col-lg-6 uploadID"> 圖片xxx <div> <input type="file" name="sfz_img" id="ulFont" required&

SpringMVC(六)檔案

SpringMVC(六)檔案上傳 Spring MVC對上傳檔案的支援 首先,DispatcherServlet會使用介面卡模式,將HttpServletRequest介面物件轉換為MultipartHttpServertRequest物件。MultipartHttpServet

SpringMVC筆記八之檔案下載

一、檔案上傳 1、普通檔案上傳 新建頁面WebContent/file.jsp <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>

ajax檔案方法

<meta http-equiv="Content-Type" content="multipart/form-data;charset=UTF-8" /> $("#submit").on('click', function(){     //可以上傳除了

Django基礎(17): 如何處理檔案檔案格式驗證及Ajax檔案示範(附GitHub原始碼)

小編我今天要寫篇值得大家收藏的文章。我將重點解釋Django上傳處理檔案中需要考慮的重要事項,並提供一般檔案上傳及Ajax檔案上傳的示範(附GitHub原始碼)。如果你的專案需要用到檔案上傳,你可以從GitHub獲取原始碼,簡化你的開發。 Django檔案上傳需要考

<SpringMvc>入門五 檔案

檔案上傳的必要條件:   1.form表單的enctype取值必須是:mutipart/form-data (預設是:application/x-www-form-urlencoded)   2.method屬性為:post   3.提供一個文字選擇域<input type="file" />

ajax提交form表單,包括ajax檔案

使用ajax請求資料,很多人都會,比如說: $.post(path,{data:data},function(data){ ... },"json"); 又或者是這樣的ajax $.ajax({ url:"${pageCont

(轉)python 全棧開發,Day75(Django與Ajax,檔案,ajax傳送json資料,基於Ajax檔案,SweetAlert外掛)

昨日內容回顧 基於物件的跨表查詢 正向查詢:關聯屬性在A表中,所以A物件找關聯B表資料,正向查詢 反向查詢:關聯屬性在A表中,所以B物件找A物件,反向查詢 一對多: 按欄位:xx book --

Ajax提交form表單,Ajax檔案

平時我們會用到各種各樣的Ajax請求資料方式,下面我們就來說一下這個Ajax的表單提交,檔案上傳等等。。。 1.第一種,.post,.get方式 $.post(path,{data:data},function(data){ if(success){ }

純H5 AJAX檔案加進度條功能

上傳程式碼js部分 //包上傳 $('.up_apk').change(function () { var obj = $(this); var form_data = new FormData(); // 獲取檔案 var fi

JQueryAjax使用SpringMVC中MultipartFile進行檔案的整合

對於一個帶有檔案上傳的表單,後臺使用springMVC封裝的MultipartFile file接收檔案,並且需要使用非同步提交,並返回相應的提示資訊 在這種情況下,我最開始使用了好幾種方法 第一種:普通的JQUERY的AJAX,但是後臺一旦使用MultipartFile

ajax檔案,搞了半天!

function sendNews(path) { //獲取新聞內容 var content = $("#content").val(); //如果新聞內容為空則顯示提示資訊,否則就提交發布 if (content == null || content == undefi

簡單的jquery ajax檔案功能

/* * 圖片上傳 * 注意如果不加processData:false和contentType:false會報錯 */ function uploadImage(

使用ajax提交form表單,包括ajax檔案

前言 使用ajax請求資料,很多人都會,比如說: $.post(path,{data:data},function(data){ ... },"json"); 又或者是這樣的ajax $.ajax({ url:"${pageContext.re

不重新整理頁面的PHP與Jquery AJAX檔案

這裡只拿圖片上傳做例子: 前端頁面 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>多檔案上傳&l

SpringMVC框架中實現檔案和下載

首先在springmvc.xml中配置檔案上傳的屬性 <!-- 檔案上傳的屬性值 --> <bean id="multipartResolver" class="org.springframework.web.multi