Vue項目下使用element-ui中Upload組件的http-request自定義上傳文件

  • 最近項目中用到了一個上傳功能芭逝,在前后端進(jìn)行聯(lián)調(diào)的時候一直報400,經(jīng)過查閱文檔渊胸,參考各個博主精品文章旬盯,問題最終解決,并寫下此文章做記錄翎猛,方便下次使用胖翰,如需用到可根據(jù)項目需求修改接口及http-request方法即可

要做的事:在http-request方法中使用自定義接口傳參,上傳文件

  • 先來一段代碼办成,然后分析一下Upload各個屬性的作用

<el-upload
      class="upload-excel"
      ref="upload"
      action="string"
      accept=".xlsx,.xls"
      :limit="1"
      :http-request="httpRequest"
      :file-list="fileList"
      :before-upload="beforeExcelUpload"
    >
      <el-button size="small" type="primary">點擊上傳</el-button>
    </el-upload>
  • action 必選參數(shù)泡态,上傳的地址搂漠,如果我們使用http-request迂卢,action可以傳入字符串,人家說了必選桐汤,不能空著而克,此時action無作用

  • accept 接受上傳的文件類型

  • limit 最大允許上傳個數(shù)

  • file-list 上傳的文件列表,我們綁定的fileList需要在data中聲明

  • http-request 覆蓋默認(rèn)的上傳行為怔毛,可以自定義上傳的實現(xiàn)

  • before-upload 傳文件之前的鉤子员萍,參數(shù)為上傳的文件,若返回 false則停止上傳拣度。我們可以在這里對文件上傳格式及大小做出限制

  • 下面是我們最需要的一些方法

<script>
// 引入接口碎绎,在下方我會給出接口定義方式
import { uploadExcel } from "@/api/upload";
export default {
  name: "upload",
  data() {
    return {
      fileList: []
    };
  },
  methods: {
    // 上傳文件之前的鉤子,上傳前對文件的大小和類型進(jìn)行判斷
    beforeExcelUpload(file) {
      // 打印file,幫助我們了解我們需要的參數(shù)
      console.log(file);
      const isExcel = file.name.split(".")[1] === "xlsx" || file.name.split(".")[1] === "xls";
      const isSize = file.size / 1024 / 1024 < 1;
      if (!isExcel) {
        this.$message({
          message: "只能上傳xls或xlsx文件!",
          type: "error"
        });
      }
      if (!isSize) {
        this.$message({
          message: "上傳文件大小不能超過 1MB!",
          type: "error"
        });
      }
      return isExcel && isSize;
    },
    //  覆蓋默認(rèn)上傳行為
    httpRequest(params) {
      let fd = new FormData();
      fd.append("file", params.file);
      fd.append("FileName", params.file.name);
      fd.append("user", "張三");
      // query是放在params中接收的參數(shù)抗果,fd是放在了body中接收
      uploadExcel(query, fd)
        .then(res => {
          if (res.resule == 1) {
            alert("上傳成功");
          }
        })
        .catch(err => {
          alert("上傳失敗筋帖,請重新上傳");
        });
    }
  }
  // uploadExcel接口,我這里使用了兩種方式傳參,最后記得加上請求頭
  // export function uploadExcel(query,data) {
  //     return request({
  //         url: '/api/users',
  //         method: 'post',
  //         headers: { "Content-Type": "multipart/form-data" },
  //         params: query,
  //         data
  //     })
  // }
};
</script>

最后

  • 如果遇到什么問題就留言吧冤馏,能解決大家一起解決一下
  • 要您覺得有用日麸,就點贊收藏鼓勵一下把
  • 文章是自己手敲,是對工作日常的總結(jié)逮光,如有錯誤之處代箭,敬請指正
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末墩划,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子嗡综,更是在濱河造成了極大的恐慌乙帮,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件极景,死亡現(xiàn)場離奇詭異蚣旱,居然都是意外死亡,警方通過查閱死者的電腦和手機戴陡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進(jìn)店門塞绿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人恤批,你說我怎么就攤上這事异吻。” “怎么了喜庞?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵诀浪,是天一觀的道長。 經(jīng)常有香客問我延都,道長雷猪,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任晰房,我火速辦了婚禮求摇,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘殊者。我一直安慰自己与境,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布猖吴。 她就那樣靜靜地躺著摔刁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪海蔽。 梳的紋絲不亂的頭發(fā)上共屈,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天,我揣著相機與錄音党窜,去河邊找鬼拗引。 笑死,一個胖子當(dāng)著我的面吹牛刑然,可吹牛的內(nèi)容都是我干的寺擂。 我是一名探鬼主播,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼怔软!你這毒婦竟也來了垦细?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤挡逼,失蹤者是張志新(化名)和其女友劉穎括改,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體家坎,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡嘱能,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了虱疏。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片惹骂。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖做瞪,靈堂內(nèi)的尸體忽然破棺而出对粪,到底是詐尸還是另有隱情,我是刑警寧澤装蓬,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布著拭,位于F島的核電站,受9級特大地震影響牍帚,放射性物質(zhì)發(fā)生泄漏儡遮。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一暗赶、第九天 我趴在偏房一處隱蔽的房頂上張望鄙币。 院中可真熱鬧,春花似錦忆首、人聲如沸爱榔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至筛欢,卻和暖如春浸锨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背版姑。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工柱搜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人剥险。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓聪蘸,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子健爬,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,933評論 2 355