狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

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

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

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

    
    前后端分離項目,數據交互都知道怎么做,文件上傳應該也都知道。但是存在有些情況下,我們需要將文件和數據同時提交。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