2016-05-13 8 views
1

私は、ASP.Net C#4.5、VS 2012を使ってWebアプリケーションを開発しています。 別のサーバで "ixo-global"フォルダを開きたい\ 10.23.23.23 \ ixo-global \(このフォルダだけ)。asp.netウェブサイトのフォルダを開くことができません

コード私はローカルホスト上でこのコードを実行したときに2

System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo() 
{ 
FileName = FolderPath, 
UseShellExecute = true, 
Verb = "open" 
}); 

各作品1

ProcessStartInfo startInfo = new ProcessStartInfo(FolderPath); 
startInfo.WindowStyle = ProcessWindowStyle.Normal; 
Process.Start(startInfo); 

コード:私はこの使用して、次のコードをしました。しかし、これをIIS上で公開した後、クライアントのブラウザでフォルダを開くことはできません。これはセキュリティ対策のためかもしれません。 IISがインストールされているサーバー上で実行を使用してこのフォルダにアクセスできます。 this linkを参照しましたが、コードは実行されますが、クライアントブラウザではフォルダが開かれません。

どうすればよいですか? TIA。

+0

最終目標は何ですか?なぜクライアントはサーバーのファイルをブラウズする必要がありますか? –

+0

はい。共有パス上のフォルダです。今すぐすべての権限がこのフォルダに付与されます –

+0

しかし、フォルダが開いたら、ユーザーは何を_do_するのでしょうか?ファイルを追加しますか?すべてのファイルを削除しますか? 1つを選択して開きますか? –

答えて

0

フォルダに読み取り専用権限があるかどうかを確認しましたか?

+1

はい。それには権利がある。指定したフォルダに新しいファイルを作成できます –

+0

Iframeを使用してサーバーにファイルを要求します。 JavaScriptを使用して作成し、そのsrcをサーバーのエンドポイントにすることができます。 – makoulis

+0

リンクボタンがあります。それをクリックすると、IFrameを使用してこのフォルダを開くことはできますか?コードを共有できますか? –

0

"System.Diagnostics.Process.Start"はWebコンテキストでは動作しません。デスクトップアプリケーションでのみ動作します。

+0

はい。私は辛い方法でそれを理解した! :(何か解決策はありますか? –

1

のサーバーをサーバーので開始していますが、ブラウザのデスクトップでは開始していません。ローカルで実行すると、はサーバーであるため、エクスプローラウィンドウが開きます。別のサーバーに公開すると、エクスプローラがサーバー上で開き、表示されません。

クライアントが持っていない限り、サーバー上のファイルを表示するエクスプローラウィンドウを開くための方法はありません。

  • (ファイル共有経由など)のフォルダへの直接パスが
  • 許可のアクセスには、フォルダ。

また、あなたは、エクスプローラのようなウィンドウにサーバのファイルを「閲覧」しましょう、サードパーティ製のコントロールに見えるかもしれません、またはクライアントがあれば、クライアントを意味する(直接フォルダへのアクセス権を持っていない場合エクスプローラのフォルダを参照することができます)、フォルダへのパスをfile://リンクに入れて、クライアントのブラウザにというと表示することができます。

関連する問題