C# 文件上傳(另一台服務器的共享目錄)


前言:

  相信很多小伙伴都做過很多簡單的服務器上傳文件,但是如何上傳到另外一台服務器的共享目錄下呢,在這篇文章教大家如何上傳到服務器共享目錄。

1.可以弄一個虛擬機當另外一台服務器把文件夾共享出來,創建文件及共享文件夾

創建一個文件夾叫SharedFolders - 右鍵文件夾屬性 - 共享

 

 2.本機找到虛擬機的共享文件夾試圖丟點文件進去看看是否成功

我的虛擬機IP是192.168.1.139,訪問共享路徑地址是\\192.168.1.139\SharedFolders

 

把我新建的Excel 文件丟到共享文件下看看是否成功,成功了就查看以下虛擬機的共享文件夾下是否有這個文件

 

3.然后我們寫代碼實現上傳到虛擬機共享目錄

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web;
using System.Web.Http;

namespace ImportExcel.Api.Controllers
{
    public class FileController : ApiController
    {
        public void Upload()
        {
            HttpFileCollection files = HttpContext.Current.Request.Files;
            if (files.Count > 0)
            {
                HttpPostedFile file = files[0];
                //絕對路徑
                string savePath = @"\\192.168.1.139\SharedFolders";
                //讀取導入的文件類型
                var fileExt = file.FileName.Substring(file.FileName.LastIndexOf('.')).ToLower();
                //if(fileExt == "xxx") 判斷類型
                var fileName = Guid.NewGuid();
                string xlsxFileName = fileName + fileExt;
                file.SaveAs(savePath + "\\" + xlsxFileName);
            }
        }
    }
}

小編這邊使用Postman調試,看看是否成功,先F5運行項目進行調試

 沒報錯應該是成功了去共享目錄看看是否有剛才上傳的docx文件

本地是可以了然后我們把他部署到IIS,在進行上傳看看

 

 部署好了使用Postman 請求 5589這個端口

你會發現報錯了,這是為什么呢,其實是權限的問題

1. 在本機和虛擬機添加一個同樣的用戶:TEST

2.在虛擬機中設置共享文件夾的權限

 3.把IIS的程序池標識改為自定義賬戶

 

 

 4.再次通過Postman調試,無返回東西就去看虛擬機的共享目錄是否存在文件

 

額,小編這次沒使用虛擬目錄不知道為啥成了!

參考文章:https://www.cnblogs.com/guangpeng/archive/2013/04/09/3009600.html

參考文章:https://www.cnblogs.com/tdws/p/6231308.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM