日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

如何在 Vue 表單中處理圖片

瀏覽:13日期:2022-10-08 16:07:22
問題:

我在 Vue 中有一個 form 表單,用于上傳博客帖子,它有標題、正文、描述、片段和圖片等范圍。所有的一切都是必需的。我在 Express 中設置了一個 API 來處理這個問題。我在 Postman 中測試正常,但是我不知道如何通過瀏覽器將文件發送給數據庫。我一直收到 500 錯誤,并且我將數據打印到控制臺,而圖片字段為空,所以我確信這就是問題所在,但我就是搞不清楚怎么辦。

這是我前端頁面的 form 表單:

<template> <div class='container'> <div id='nav'> <adminnav/> </div> <div id='create'> <h1>Create new post</h1> </div> <div id='post'> <body> <form> <label for='title'>Title: </label> <textarea v-model=formdata.title rows='5' cols='60' name='title' placeholder='Enter text'> </textarea> <br/> <label for='body'>Body: </label> <textarea v-model=formdata.body rows='5' cols='60' name='body' placeholder='Enter text'> </textarea> <br/> <label for='description'>Description: </label> <textarea v-model=formdata.description rows='5' cols='60' name='description' placeholder='Enter text'> </textarea> <br/> <label for='snippet'>Snippet: </label> <textarea v-model=formdata.snippet rows='5' cols='60' name='snippet' placeholder='Enter text'> </textarea> <br/> <label for='file'>Upload photo: </label> <input type='file' accept='image/*' v-bind='formdata.photo' /> <br/> <input type='submit' value='submit' @click.prevent='createPost()'/> </form> </body> </div> </div></template><script>import adminnav from ’../components/adminnav.vue’;import PostService from ’../service/PostService’;export default { name: ’createStory’, components: { adminnav, }, data() { return { formdata: { title: ’’, body: ’’, description: ’’, snippet: ’’, photo: null, }, }; }, methods: { createPost() { console.log(this.formdata); /* eslint prefer-destructuring: 0 */ const formdata = this.formdata; PostService.createPost(formdata) .then(() => { console.log(’success’); }); }, },};</script>

這是 POST 請求。

router.post('/add-story', upload.single(’photo’), async(req, res) => { try{ let post = new Post(); post.title = req.body.title; post.description = req.body.description; post.photo = req.file.location; post.body = req.body.body; post.snippet = req.body.snippet; await post.save(); res.json({ status: true, message: 'Successfully saved.' }); } catch(err) { res.status(500).json({ success: false, message: err.message }); }});解決方法

讓我們監視文件 <input> 中的 change 事件。這樣可以確保每次用戶的上傳行為觸發 updatePhoto 方法并把文件數據儲存到 this.photo。

<input type='file' accept='image/*' @change='updatePhoto($event.target.name, $event.target.files)'>

編碼去收集所有的數據并發送請求

// vue組件的其他部分data () { return { title: ’’, body: ’’, description: ’’, snippet: ’’, photo: {} // 儲存文件數據 };},methods: { updatePhoto (files) { if (!files.length) return; // 存儲文件數據 this.photo = { name: files[0].name, data: files[0] }; }, createPost() { let formData = new FormData(); formData.append(’title’, this.title); formData.append(’body’, this.body); formData.append(’description’, this.description); formData.append(’snippet’, this.snippet); formData.append(’photo’, this.photo.data, this.photo.name); PostService.createPost(formdata) .then(() => { console.log(’success’); }); }}// vue組件的其他部分

很明顯,我跳過了很多事情,比如整個 vue 組件結構,我相信它與這個問題無關,還有一些確保在啟動請求之前文件數據可用的檢查等等。這是一個關于如何獲取文件數據的想法,所以希望這個答案能啟發您。

以上就是如何在 Vue 表單中處理圖片的詳細內容,更多關于Vue 表單中處理圖片的資料請關注好吧啦網其它相關文章!

標簽: Vue
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美交a欧美精品喷水| 粉嫩av一区二区三区四区五区| 激情久久婷婷| 不卡中文字幕| 日韩高清二区| 九九久久国产| 99久久99久久精品国产片果冰| 日韩午夜黄色| 久久国产婷婷国产香蕉| www.51av欧美视频| 亚洲国产一区二区三区在线播放| 亚洲一区二区日韩| 国产福利资源一区| 成年男女免费视频网站不卡| 欧美va亚洲va日韩∨a综合色| 亚洲久久在线| 麻豆视频在线看| 久久亚洲电影| 乱一区二区av| 影音国产精品| 国产精品www994| 黑丝美女一区二区| 人人精品久久| 欧美片第1页| 日韩欧美在线精品| 国产日韩电影| 免费观看在线综合色| 精品国产三区在线| 国产视频一区欧美| 国内精品麻豆美女在线播放视频| 亚洲一区日韩在线| 麻豆久久一区二区| 另类国产ts人妖高潮视频| 精品一区二区三区亚洲| 午夜亚洲精品| 天堂av在线| 国产亚洲欧美日韩精品一区二区三区 | 日韩国产在线观看一区| 成人日韩av| 伊人久久一区| 免费在线小视频| 日本成人中文字幕在线视频| 亚洲成av人片一区二区密柚| 国产精品久久久免费| 亚洲欧美视频一区二区三区| 欧美国产美女| 国产情侣一区在线| 鲁大师成人一区二区三区| 黄毛片在线观看| 日韩久久一区| 午夜久久99| 色在线视频观看| 国产精品自拍区| 老鸭窝毛片一区二区三区| 国产一区二区三区不卡av | 香蕉久久99| 九九99久久精品在免费线bt| 日韩国产欧美三级| 午夜在线一区| 亚洲四虎影院| 精品美女在线视频| 久久精品99久久久| 蜜臀av性久久久久蜜臀aⅴ流畅| 日韩精品免费一区二区三区| 久久久久97| 欧美日韩一区自拍| 一区二区国产在线观看| 成人午夜国产| 成人美女视频| 久久精品九色| 欧美激情福利| 国产精品亚洲二区| 四虎成人精品一区二区免费网站| 亚洲精品一区二区在线看| 日韩精品2区| 精品精品国产三级a∨在线| 91欧美极品| 亚洲最大av| 免费看黄色91| 亚洲视频电影在线| 亚洲深夜福利在线观看| 首页亚洲欧美制服丝腿| 日韩在线不卡| 在线人成日本视频| 水蜜桃久久夜色精品一区| 麻豆精品在线观看| 欧美精品成人| 久久精品一区二区国产| 精品黄色一级片| 国产成人免费视频网站视频社区| 国产精品xxxav免费视频| 国产剧情在线观看一区| 国产欧美自拍| 久久中文在线| 成人黄色av| 成人国产精品一区二区网站| sm久久捆绑调教精品一区| 国产一区2区在线观看| 日韩1区在线| 日韩视频网站在线观看| 亚洲网站视频| 悠悠资源网久久精品| 免费日韩视频| 亚洲另类av| 日韩二区三区在线观看| 国产精品亚洲四区在线观看| 久久精品三级| 精品成人免费一区二区在线播放| 亚洲伦乱视频| 天堂资源在线亚洲| 99香蕉国产精品偷在线观看 | 欧美亚洲激情| 欧美日韩四区| 最新国产精品视频| 国产日韩一区二区三免费高清| 久久av影院| 成人精品中文字幕| 中文欧美日韩| 日本国产欧美| 成人亚洲精品| 婷婷激情综合| 中文字幕日韩欧美精品高清在线| 日韩欧美2区| 久久久国产精品网站| 麻豆网站免费在线观看| 欧美精选一区二区三区| 日韩制服丝袜先锋影音| 欧美久久久网站| 高清一区二区| 欧美日韩免费观看一区=区三区| 天堂久久av| 国际精品欧美精品| 欧美成人日韩| 亚欧洲精品视频在线观看| 久久久国产精品网站| 91精品推荐| 亚洲精品美女91| 久久一区欧美| 欧美精选一区二区三区| 亚洲精选久久| 精品国产一区二区三区av片| 激情婷婷久久| 日韩欧美美女在线观看| 国产成人久久精品麻豆二区| 欧美日韩国产探花| 国产亚洲高清在线观看| 日本免费一区二区三区四区| 亚洲制服少妇| 国产精品videossex| 久久国产亚洲精品| 日韩区欧美区| 亚洲天堂一区二区| 色8久久久久| 国产拍在线视频| 日韩制服丝袜先锋影音| 精品国产一区二| 黄色亚洲免费| 国产精品久久乐| 亚洲女同一区| 麻豆视频一区二区| 国产亚洲精品自拍| 欧美1区二区| 夜夜精品视频| 国产一区二区亚洲| 亚洲精品成人一区| 久久久久91| 国产精品调教| 合欧美一区二区三区| 国产精品nxnn| 欧美另类综合| 精品伊人久久| 日韩欧美中文字幕电影 | 蜜臀久久精品| 日本欧美一区二区| 91精品在线观看国产| 国产毛片久久久| 亚洲电影在线一区二区三区| 国产精品欧美在线观看| 亚洲一区日本| 亚洲va中文在线播放免费| 国产精品中文字幕亚洲欧美| 中文亚洲欧美| 国产91在线精品| 日本视频一区二区| 国产视频欧美| 亚洲国产专区校园欧美| 福利欧美精品在线| 国产毛片精品久久| 快she精品国产999| 999久久久精品国产| 美女精品一区二区| 亚洲ww精品| 亚洲视频www| 日韩精品首页| 福利视频一区| 免费在线亚洲| 国产亚洲高清在线观看| 丝袜美腿成人在线| 欧美日韩在线二区| 欧美少妇精品|