2

クライアントマシンに保存されている画像のパスを取得したい。画像のパスとファイル名を知っています。FileUploadを使用することでそれを行うことができますが、fileuploadを使用せずにファイルのパスを取得することは可能ですか??。

私のシナリオを以下に示します。

Public void ConverttoByte()
{
    //Get the image path from web.config & this image is in client machine
    string strConfig = @"C:\Manikandan\image\image1.jpg"; 
    MemoryStream MS = new MemoryStream();
    Byte[] data;
    int fiFileSize;
    System.Drawing.Image image;
    image = System.Drawing.Image.FromFile(strConfig);
    image.Save(MS, System.Drawing.Imaging.ImageFormat.Gif);
    data = MS.ToArray();
    CallDBMethod(data);
}

ここでは、画像をバイトとして変換し、 CallDBMethodを呼び出して、このバイトの詳細をDBに挿入しました。

このイメージはクライアントマシンで使用できますが、サーバーマシンでは使用できません。

では、クライアントマシンからこのイメージパスを取得する方法と、これを解決するにはどうすればよいですか?

4

2 に答える 2

2

ファイル アップロード コントロールなしでは、Activex コントロールを作成しない限り、それは不可能です (すべてのブラウザーで機能するとは限りません。ユーザーはこのコントロールを実行する許可を与える必要があります)。

Web アプリケーションでは、ユーザーがアクションを実行しない限り、ユーザーのコンピューターからファイルを取得 (盗む) ことはできません (例: ファイル入力コントロールでファイルを選択し、アップロード ボタンをクリックします)。

ファイル アップロード コントロールで選択されたファイル ユーザーの完全なファイル パスが必要な場合はHttpPostedFile.FileName、クライアント上のファイルの完全修飾名を与えるプロパティで取得できます (例 : C:\MySomeFolder\SomeFile.jpg)。

 string fullPath=FileUpload1.HttpPostedFile.FileName

FileUpload1がファイル アップロード コントロールの ID であると仮定します。

于 2012-07-26T13:42:56.707 に答える
0

私の知る限り、それは不可能です。クライアントのイメージ パスを取得できません。ブラウザーでは、パスを取得できません。Using fileupload control you can also not get the complete path. 私による同様の質問 asp.netまたはその他の方法でファイルアップロードコントロールを使用して完全なファイルパスを取得する方法は?

于 2012-07-26T13:44:40.647 に答える