日韩欧美国产精品免费一二-日韩欧美国产精品亚洲二区-日韩欧美国产精品专区-日韩欧美国产另-日韩欧美国产免费看-日韩欧美国产免费看清风阁

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

.Net WebApi+ElementPlus實現附帶數據的文件上傳

admin
2024年9月16日 20:56 本文熱度 948
前言

    
    前后端分離項目,數據交互都知道怎么做,文件上傳應該也都知道。但是存在有些情況下,我們需要將文件和數據同時提交。ElementPlus的upload上傳組件提供了可攜帶數據的data屬性,但是在.NetWebApi下應該如何做接收呢?下面通過示例我們簡單實現一下。
 
 



開發環境:.NET 6

開發工具:Visual Studio 2022

 

實現步驟
  1. 這里假設我們已經有了一個Vue3項目,并且引入了ElementPlus。
  2. 首先是前端的html代碼,這里我們需要同時將數據內容和文件上傳到后臺,如下:
    <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">          <el-form-item label="數據內容" prop="Value">            <el-input v-model="formData.Value" :autosize="{ minRows: 8, maxRows: 16 }" type="textarea" clearable></el-input>          </el-form-item>        </el-col>
           <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">          <el-form-item label="選擇文件" prop="Name">            <el-input v-model="formData.Name" readonly>              <template #append>                <el-upload                  ref="uploadRef"                  :action="upload.action"                  :headers="upload.headers"                  :show-file-list="false"                  :on-change="onUploadChange"                  :before-upload="onUploadBefore"                  :on-success="onUploadSuccess"                  :on-error="onUploadError"                  :auto-upload="false"                  :data="formData"                  accept=".txt"                >                  <el-button type="primary">選擇文件</el-button>                </el-upload>              </template>            </el-input>          </el-form-item>        </el-col>

  1. 接下來是vue代碼:
    const uploadRef = ref<UploadInstance>();const formData = ref({  Name: '',  Value: '',});const onUploadChange = (file: any) => {  formData.value.Name = file.name;};const onUploadBefore = (file: any) => {  if (file.name.lastIndexOf('.txt') != file.name.length - 4) {    EMsg.error('請選擇文本文件');    return false;  }  return true;};const onUploadSuccess = (res: any) => {  EMsg(res);  onClose();  emit('refresh');};const onUploadError = (res: any) => {  EMsg.error(res.Msg);};//提交按鈕觸發const onSubmit = () => {    uploadRef.value!.submit();  });};

  1. 上面的代碼就會在提交的時候將數據和內容直接給到WebApi,WebApi接收代碼如下:
    //先定義一個接收類public class InFileData    {        public string Name {  get; set; }        public string Value { get; set; }        public IFormFile? file { get; set; }    }
    [HttpPost]public ApiJsonResult Add([FromForm] InFileData input){    if (input.file == null)    {        return ApiJsonResult.Convert(false,"沒有文件");    }    string filter = Path.GetExtension(input.Name);    string name = Guid.NewGuid().ToString("N") + filter;    string path = Path.Combine(App.StaticData.UploadPath, name);    using var stream = new FileStream(path, FileMode.OpenOrCreate);    input.file.CopyTo(stream);    //獲取到的表單數據    string value=input.Value;
       return ApiJsonResult.Success;}

  1. 完成 
實現效果

 ???點擊此處下載源碼???


該文章在 2024/9/18 12:26:33 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 日韩国产一区二区 | 日韩精品视频网站在线 | 香港日本韩国三级网站 | 国语在线看免费观 | 亚洲色大成网站www永久男同 | 精品国精品国产国产 | 亚洲性人人天天夜夜摸 | 91免费公开视频 | 特黄特色的大片观看免费视 | 国产福利小视频 | 亚洲欧美日韩综合在线 | 成人影院在线免费观看 | 国产精品自拍第一页 | 日韩福利影院 | www.91 | 国产亚洲成在线播放va | 中文字幕日韩欧免费视频 | 亚洲熟女精品中文字幕 | 日本韩一级二级三级 | 国产亚洲一区二区三区在线 | 在线观看永久免费视频网站 | 日本中文字幕乱码 | 国产午夜福利在线播放 | 亚洲一区二区高清 | 国内精品人 | 日韩在线一区二区 | 国产91尤物中文在线 | 精品亚洲a | 精品日产卡一卡二卡国色天香 | 日韩欧美视频一区二区三区 | 日日摸日 | 国产足控脚交在线观看 | 亚洲已满18点击进入在线观看 | 欧美天堂 | 最好看中文字幕国语电影 | 国产福利不卡免费视频在线观 | 最近日本韩国高清免费大全 | 国产v亚洲v天堂 | 国产一区二区高清 | 国产深夜在线免费观看 | 免费在线观看日韩电影大片 |