最近公司的OA項目的電子簽章功能,買的一家公司的峦失,遇到了一個前臺發(fā)送簽章文件扇丛,而后臺使用MultipartFile接收不到的情況,由于前臺js直接調用人家公司封裝的方法尉辑,所以后臺得看看怎么改帆精,特此做個筆記記下。
可以看到圖中黃色框使用MultipartFile獲取到數(shù)組為零隧魄,根本就沒有獲取到卓练,但是看到上方request變量下有個multipartFiles的Map,大小為一购啄,也就是說傳到后臺了襟企,只不過不能采用MultipartFile來獲取,那么就需要別的方法來獲取了狮含。
百度谷歌了一圈后找不到任何可行的方案顽悼,覺得既然是request里面的,那就去看下HttpServletRequest這個類几迄,看了一圈后還是沒看出辦法表蝙。后來猛地看到上面變量參數(shù)右邊request的類是StandardMultipartHttpServletRequest,果然被我發(fā)現(xiàn)了解決問題的突破點。
解決的方法很簡單乓旗,把request的類從HttpServletRequest換成StandardMultipartHttpServletRequest就可以了府蛇,
接下來就可以調用getFileMap()方法獲得到一個Value是MultipartFile的Map,到這屿愚,便成功的獲取到了這個文件汇跨。
雖然改動了很少的代碼便能獲取到,但是還是花費了幾個小時來找這個問題的解決方法妆距,提醒我以后要注意細節(jié)穷遂,人家說看源碼是有道理的,學習的路還有很長娱据,要堅持不懈的走下去蚪黑。