簡體   English   中英

C#訪問另一台計算機上的路徑被拒絕

[英]C# Access to path on another computer denied

我目前正在開發 Web Api 2 項目。 我正在使用的方法是上傳圖像方法。

這是我的代碼:

    public IHttpActionResult Upload()
    {
        string UserID = "12345";

        // LOCAL VARIABLE
        dynamic ExpObj = new ExpandoObject();

    // Virtual Directory Located on My Computer
        var FilePath = HttpContext.Current.Server.MapPath("/Images");

    // Virtual Directory Located on Another Computer (Located on LAN Network)
        var FilePath2 = HttpContext.Current.Server.MapPath("/tes2");

        if (HttpRequest.Files.Count > 0)
        {
            foreach (string file in HttpRequest.Files)
            {
                // GET UPLOADED IMAGE
                var PostedFile = HttpRequest.Files[file];

                // SET FILE NAME ( USERID + Right(FileName,10) )
                string FileName = GetFileName(UserID, PostedFile.FileName, 10);

                // SAVE IMAGE
                //PostedFile.SaveAs(FilePath + FileName);
                string ImagePath = Path.Combine(FilePath, FileName);
                string ImagePath2 = Path.Combine(FilePath2, FileName);

                PostedFile.SaveAs(ImagePath2);
                File.Copy(ImagePath2, ImagePath);

                ExpObj.imageURL = ServerUrl + ServerPath + FileName;
            }
        }
        else
        {
            ErrCode = -900;
        }

        // RETURN IF GOT ERROR
        if (ErrCode < 0)
        {
            return StatusCode((HttpStatusCode)(ErrCode * (-1)));
        }

        // RETURN
        return Ok(ExpObj);
    }

我的方法是,它使用多部分表單數據在 API 中接收圖像作為輸入,並將其上傳到服務器上。 我使用的目錄是一個虛擬目錄

"/Images" = "\\192.168.12.28\共享文件夾\PIJ 共享"

"/tes2" = "C:\Dummy"

當我嘗試將其上傳到我自己的計算機時,它可以工作,但是當我嘗試將其上傳到另一台計算機上時,它會出現此錯誤。

訪問路徑被拒絕錯誤

這是我試圖解決的問題:

  1. 以管理員身份打開 Visual Studio 2013

  2. 添加指定文件夾的權限(NETWORK SERVICE、IIS_IUSR、pij.api(我的應用程序池的名稱)、DefaultAppPool、Everyone)。 我已授予每個用戶讀/寫權限。

這些都不起作用。 我還嘗試使用文件資源管理器將圖像文件添加到“\192.168.12.28\Share Folder\PIJ Share”。 它有效。 我應該怎么辦 ?

非常感謝。

更新 (1.1)

我嘗試在沒有 IIS 的情況下執行代碼(在 Visual Studio 2013 上使用 localhost)並且文件成功上傳。 但是當我使用 IIS ( http://api.pijmobile.local/ ) 執行它時,我得到了 Access to the path denied 錯誤。

看來問題出在 IIS 設置上。 仍在尋找答案。

經過幾天的研究,我終於找到了答案。 看完這個鏈接 這些是我完成的步驟:

  1. 在我的計算機和遠程服務器中創建用戶(控制面板>管理員工具>計算機管理>在計算機管理中展開樹“本地用戶和組”>右鍵單擊用戶>新用戶)

  2. 填寫用戶名和密碼

    在此處輸入圖像描述

  3. 打開 Internet 信息服務 (IIS) 管理器,展開您的計算機名稱,單擊應用程序池

  4. 右鍵單擊您的網站應用程序池 > 高級設置
  5. 在高級設置窗口中,單擊身份旁邊的 ...
  6. 選擇自定義賬戶 > 點擊設置
  7. 插入您之前創建的用戶和密碼 > OK > OK > OK

在此處輸入圖像描述

  1. 就是這樣,您將能夠訪問網絡共享並查看它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM