小記(二)
????????好,現(xiàn)在寫一下第二份小記,原來的因?yàn)闆]放對文集被我刪了,但是我立刻發(fā)現(xiàn)這個(gè)沒有放進(jìn)文集的專欄是可以從文集內(nèi)部添加的??傊畡h了就刪了,問題不大,也沒寫什么東西。
????????因?yàn)橐惴?wù)外包的比賽,所以彈幕姬直接擺了,之后有興趣或者有剛需再搞下去吧,反正群里有人說他搞了,那我就懶得弄了。
????????這次主要寫點(diǎn)比賽項(xiàng)目的東西。
????????第一次嘗試和前端對接,發(fā)現(xiàn)還是有好多東西沒有學(xué)。因?yàn)椴恢么醯奈掖竽懙挠昧藄pringboot+Vue的框架來搭建項(xiàng)目,導(dǎo)致各種卡進(jìn)度。
????????首先我們知道,后端從前端拿數(shù)據(jù),第一步到的肯定是controller層,然后交給service實(shí)現(xiàn)程序功能,再到mapper里對數(shù)據(jù)庫進(jìn)行操作。返回?cái)?shù)據(jù)則是一個(gè)相反的過程。
????????這次收獲主要是在controller從前端拿數(shù)據(jù)這一塊。
????????我用了spring中的MultiPartFile類來傳輸png圖片。這個(gè)類可以直接獲取前端發(fā)送的post請求中的文件而不要轉(zhuǎn)換成流的形式。而因?yàn)檫@個(gè)類繼承了InputStreamSource類,因此也可以通過multipartFile.getInputStream()將MultiPartFile格式的文件轉(zhuǎn)換為輸入流。這個(gè)類有一個(gè)坑,我在自己用的時(shí)候也發(fā)現(xiàn)了,首先transferTo() 方法有兩個(gè),這個(gè)還好點(diǎn),仔細(xì)看一下還能發(fā)現(xiàn);另一個(gè)網(wǎng)上找資料的時(shí)候也發(fā)現(xiàn)其他人也提到了(www.jb51.net/article/216448.htm),簡單來說就是不能傳一個(gè)相對路徑給這個(gè)方法,非常離譜,否則它會直接給你塞到Temp那個(gè)文件夾下面去,但是這樣調(diào)用的時(shí)候就不知道去哪里找了。(我剛才淺淺看了一下,好像指定classpath也是算相對路徑的……)
????????算了這次先寫到這里吧,明天接著寫。
????????