2017-04-18 8 views
0

リモートサーバーからbakファイルにアクセスしてダウンロードしようとしましたが、「指定されたパスの形式はサポートされていません」というエラーが発生し続けます。 私は以下の使用していますコード:c#指定されたパスの形式はサポートされていません。 UNCパス

string uncPath = Server.MapPath(Path.Combine(@"\\TSTSVR\Users\temp_databaseBackups_000kfkf000", string.Format("{0}-{1}.bak", 
      ddlDatabases.SelectedValue, DateTime.Now.ToString("yyyy-MM-dd")))); 

     //download 
     WebClient webClient = new WebClient(); 
     webClient.DownloadFile(uncPath, ddlDatabases.SelectedValue + "-" + DateTime.Now.ToString("MM-dd-yyyy:hh:mm")); 

私はDownloadFileラインでエラーを取得しています。 UNCの経路が間違っていると宣言していますか?フォルダはサーバー上にあり、書き込み権限を持つEveryoneへのアクセスを設定します。

+0

さて、あなたが試みていることはあまり意味がありません。ファイルはWebサーバーに置かれていますか? WebClientオブジェクトを使用しているので、それが前提としています。 – JuanR

+0

ここで何をしようとしているのか分かりません。「Server.MapPath」は、ウェブサイトのパスを物理パスに変換するように設計されています。 UNCパスを渡すことは意味がありません。実際にUNCパスをWebパスに変更しようとしていますか?もしそうなら、あなたはこのようにすることはできません。 – Chris

+0

ファイルは、そのパスのリモートサーバー上にあります。 – kristech

答えて

-1

リモートマシンがWindowsの制御下で動作する場合、コロンはパスに使用できません。私は次のコードで問題を解決し、あなたのすべてから右方向にいくつかのヒントの助けを借りて

0

 string uncPath = Path.Combine(@"\\TSTSVR\Users\temp_databaseBackups_000kfkf000", string.Format("{0}-{1}.bak", 
      ddlDatabases.SelectedValue, DateTime.Now.ToString("yyyy-MM-dd"))); 

     //download 
     Response.ContentType = "bak"; 
     Response.AddHeader("Content-Disposition", "attachment;filename=\"" + ddlDatabases.SelectedValue + "-" + DateTime.Now.ToString("MM-dd-yyyy:hh:mm") + "\""); 

     Response.TransmitFile(uncPath); 
     Response.End(); 

プログラムは、リモートサーバーからのファイルの必要性をダウンロードします。

関連する問題