最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue實現(xiàn)的上傳圖片到數(shù)據(jù)庫并顯示到頁面功能示例

 更新時間:2018年03月17日 15:21:00   作者:shh520_ty  
這篇文章主要介紹了vue實現(xiàn)的上傳圖片到數(shù)據(jù)庫并顯示到頁面功能,結(jié)合實例形式分析了基于vue.js的數(shù)據(jù)庫操作及頁面圖片顯示相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了vue實現(xiàn)的上傳圖片到數(shù)據(jù)庫并顯示到頁面功能。分享給大家供大家參考,具體如下:

1、點擊上傳圖片,彈出選擇圖片選項框。

頁面代碼:

<div class="form-signin-heading" id="btnUpload" @change="upload">上傳圖片</div>
<input type="file" name="avatar" id="avatar" multiple="multiple" @change="upload">
<img :src="'http://localhost:8888'+item.photos_url" alt=""/>

由于我們要設(shè)置上傳圖片的樣式,所以把input隱藏,并要做如下操作把input的點擊事件給div框:

mounted: function () {
 var upload = document.getElementById("btnUpload");
 var avatar = document.getElementById("avatar");
 upload.onclick =function(){
  avatar.click(); //注意IE的兼容性
 };
}

2、在api接口的controller層加入兩個文件,命名自己定,如:

upFile.js

let multer=require('multer');
let storage = multer.diskStorage({
  //設(shè)置上傳后文件路徑,uploads文件夾會自動創(chuàng)建。
  destination: function (req, file, cb) {
    cb(null, './public/uploads')
  },
  //給上傳文件重命名,獲取添加后綴名
  filename: function (req, file, cb) {
    let fileFormat = (file.originalname).split(".");
    cb(null, file.fieldname + '-' + Date.now() + "." + fileFormat[fileFormat.length - 1]);
  }
});
//添加配置文件到multer對象。
let upload = multer({
  storage: storage
});
module.exports = upload;

upFileController.js

var muilter = require('./upFile.js');
//multer有single()中的名稱必須是表單上傳字段的name名稱。
var upload=muilter.single('file');
function dataInput(req, res) {
  upload(req, res, function (err) {
    //添加錯誤處理
    if (err) {
      return console.log(err);
    }
    //文件信息在req.file或者req.files中顯示。
    let photoPath = req.file.path;
    photoPath = photoPath.replace(/public/,"");//將文件路徑中的public\去掉,否則會和靜態(tài)資源配置沖突
    //將photoPath存入數(shù)據(jù)庫即可
    console.log(photoPath);
    res.send(photoPath);
  });
}
module.exports = {
  dataInput
};

3、在頁面中將圖片的地址存到數(shù)據(jù)庫

upload: function (e) {
    var that = this;
    let formData = new window.FormData();
    let file = e.target.files[0];
    formData.append('file',file);//通過append向form對象添加數(shù)據(jù)
    //利用split切割,拿到上傳文件的格式
    var src = file.name,
     formart = src.split(".")[1];
    //使用if判斷上傳文件格式是否符合
    if (formart == "jpg" || formart == "png" ||
     formart == "docx" || formart == "txt" ||
     formart == "ppt" || formart == "xlsx" ||
     formart == "zip" || formart == "rar" ||
     formart == "doc") {
     //只有滿足以上格式時,才會觸發(fā)ajax請求
     this.$axios.post(this.$api.personalCenter.upFile,formData).then(function (res) {
      that.upFileData = res.data;
     }).then(function (res) {
      var params = {
       photos_url: that.upFileData,
       photo_des: ''
      };
//      console.log(params.photos_url,'photos_url')
      that.$axios.post(that.$api.personalCenter.wallAdd,qs.stringify(params)).then(function (res) {
       console.log(res.data);
       that.$options.methods.imgList.bind(that)();
      }).catch(function (err) {
       console.log(err);
       console.log("請求出錯");
      })
     })
    } else {
     alert("文件格式不支持上傳");
    }
}

希望本文所述對大家vue.js程序設(shè)計有所幫助。

相關(guān)文章

  • vue3+elementPlus實現(xiàn)年份選擇器

    vue3+elementPlus實現(xiàn)年份選擇器

    這篇文章主要為大家詳細(xì)介紹了vue3如何通過elementPlus實現(xiàn)一個簡單的年份選擇器,文中的示例代碼講解詳細(xì),需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-01-01
  • vue之項目中如何封裝loading加載效果

    vue之項目中如何封裝loading加載效果

    這篇文章主要介紹了vue之項目中如何封裝loading加載效果,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • vue中cookies的使用方式

    vue中cookies的使用方式

    這篇文章主要介紹了vue中cookies的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • 使用vite創(chuàng)建vue3之vite.config.js的配置方式

    使用vite創(chuàng)建vue3之vite.config.js的配置方式

    這篇文章主要介紹了使用vite創(chuàng)建vue3之vite.config.js的配置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Vue2.0用 watch 觀察 prop 變化(不觸發(fā))

    Vue2.0用 watch 觀察 prop 變化(不觸發(fā))

    本篇文章主要介紹了Vue2.0用 watch 觀察 prop 變化(不觸發(fā)),非常具有實用價值,需要的朋友可以參考下
    2017-09-09
  • vue中實現(xiàn)代碼高亮與語法著色的方法介紹

    vue中實現(xiàn)代碼高亮與語法著色的方法介紹

    在Vue的開發(fā)過程中,我們經(jīng)常需要展示代碼片段或者進行代碼高亮與語法著色,Vue提供了多種方式來實現(xiàn)代碼高亮與語法著色,本文將為你詳細(xì)介紹這些方法,需要的朋友可以參考下
    2023-06-06
  • element-ui 限制日期選擇的方法(datepicker)

    element-ui 限制日期選擇的方法(datepicker)

    本篇文章主要介紹了element-ui 限制日期選擇的方法(datepicker),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • vue給對象添加屬性沒有響應(yīng)式的問題及解決

    vue給對象添加屬性沒有響應(yīng)式的問題及解決

    這篇文章主要介紹了vue給對象添加屬性沒有響應(yīng)式的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • vue實現(xiàn)移動端div拖動效果

    vue實現(xiàn)移動端div拖動效果

    這篇文章主要為大家詳細(xì)介紹了vue實現(xiàn)移動端div拖動效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 編寫v-for循環(huán)的技巧匯總

    編寫v-for循環(huán)的技巧匯總

    這篇文章主要介紹了編寫更好的v-for循環(huán)的6種技巧,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下
    2020-12-12

最新評論

台江县| 明光市| 青州市| 丰都县| 宁乡县| 武鸣县| 库车县| 武清区| 河北区| 方城县| 彰武县| 太谷县| 大邑县| 抚远县| 隆昌县| 宜宾市| 莒南县| 香河县| 涞源县| 益阳市| 武清区| 鲁山县| 阿克苏市| 疏勒县| 盱眙县| 九江县| 吐鲁番市| 稻城县| 北宁市| 天津市| 夹江县| 阳春市| 阿拉尔市| 广丰县| 巢湖市| 武义县| 蒲江县| 屯昌县| 韩城市| 东方市| 双鸭山市|