0

個人用の画像アップロード/ダウンローダー Web ページをセットアップしようとしています。関数に関する msdn の記事を表示しましたが、問題なく動作しますが、ファイルの保存先がわかりません。

var request = new WebClient();
request.DownloadFile("https://someabosolute/image/path/andfilename.png", "file.png");

何か案は?

filename.png を C:\tmp\filename.png に変更すると、@ エスケープまたは \ が無効な文字の問題を解決します。ただし、ファイル名にjsutを使用すると、すべてが実行されてエラーが発生しますが、ファイルが見つかりません。Windows のセキュリティとアプリケーションのログもチェックしましたが、時間枠に関連するものは何もありませんでした。

SO system.net.webclient の DownloadFile() メソッドの 2 番目のパラメーターとしてファイル名のみを指定する場合、Web アプリケーションのどこにファイルを保存する必要がありますか。

4

2 に答える 2

2

Microsoft ドキュメントの例によると、ファイルは にダウンロードされApplication.StartupPathます。ファイル名のみが指定されている場合は、実行可能ファイルと同じパスに保存されます。

一部のアプリケーション (ASP.NET Web アプリケーションなど) では、ファイルを実行可能ファイルと同じフォルダーに保存する際にアクセス許可の問題が発生する可能性があることに注意してください。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;

namespace ConsoleApplication2
{
  class Program
  {
    static void Main(string[] args)
    {
      string remoteUri = "put your url here";
      string fileName = "image.php_.jpeg", myStringWebResource = null;
      // Create a new WebClient instance.
      WebClient myWebClient = new WebClient();
      // Concatenate the domain with the Web resource filename.
      myStringWebResource = remoteUri + fileName;
      Console.WriteLine("Downloading File \"{0}\" from \"{1}\" .......\n\n", fileName, myStringWebResource);
      // Download the Web resource and save it into the current filesystem folder.
      myWebClient.DownloadFile(myStringWebResource, @"c:\tmp\" + fileName);
      Console.WriteLine("Successfully Downloaded File \"{0}\" from \"{1}\"", fileName, myStringWebResource);
    }
}

}

于 2012-06-26T19:47:35.303 に答える
0

...ばかげている の 2 番目のパラメーターのパスのないデフォルトの場所は、C:\program files(x86)\iisexpress 内にあります

于 2012-06-28T06:54:23.633 に答える