2011-11-08 41 views
0

これは私が見つけたほど難しくないはずですが、問題について何か助けを求めることができます。私はFileUploadコントロールを使用しており、FileUploadコントロールに精通しています。ウェブブラウザからローカルフォルダブラウザを開く

しかし、私は、ユーザーがファイルを選択せず​​にフォルダパスを選択できるようにする必要があります。私のコードが選択されたフォルダにあるファイルを読み込んで処理するローカルのハードドライブ上のフォルダの場所です。

私は空白を描いています。私のウェブ検索では、私が探しているものが私に与えられていません。

私はこれをWindows FolderDialogBrowserコントロールで最初に開発しましたが、Webサーバーでは実行されない可能性があります。セキュリティ上の問題があり、変更できません。

Public Class FolderBrowserDialogExampleForm 
Inherits Form 

Private folderBrowserDialog1 As FolderBrowserDialog 
Private openFileDialog1 As OpenFileDialog 

Private richTextBox1 As RichTextBox 

Private mainMenu1 As MainMenu 
Private fileMenuItem As MenuItem 
Private WithEvents folderMenuItem As MenuItem, _ 
        closeMenuItem As MenuItem, _ 
        openMenuItem As MenuItem 

Private openFileName As String, folderName As String 

Private fileOpened As Boolean = False 

ローカルマシン上のフォルダブラウザをWebブラウザから開く方法はありますか?私は妥当な修正がない限り、上記のコードを救済するつもりはない。

完全なエラーメッセージ:

Compilation Error 
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately. 

Compiler Error Message: BC30002: Type 'Form' is not defined. 

ソースエラー:

Line 10: 
Line 11: Public Class FolderBrowserDialogExampleForm 
Line 12:  Inherits Form        ' this line errors 
Line 13: 
Line 14:  Private folderBrowserDialog1 As FolderBrowserDialog 

答えて

1

HTML/JavaScriptのプラットフォームでフォルダ選択の概念はありません。 1つを選択できたとしても、フォルダパスでは何もできません。 Silverlight、Flash、またはJavaアプレットなどのプラグインテクノロジを使用する場合は、フォルダの選択と読み取り機能があります。

+0

まあ、私はそれが本当であるか分からない。ここに私が最近見つけた別の解決策があります。 http://www.codeproject.com/KB/aspnet/krullfilesytembrowsing.aspx、マイクロソフトではMSDNライブラリに含まれています.... http://msdn.microsoft.com/en-us/library/system.windows.forms .folderbrowserdialog(v = VS.90).aspx私はちょうど私が多くを再コード化することなくサーバー上にあるものを修正しようとしています。 – htm11h

+0

最初のリンクは、クライアントではなくサーバー上のWebサーバー*のフォルダ構造*にアクセスする場合に役立ちます。 Webアプリケーションはクライアントのファイルシステムにアクセスできません。 2番目のリンクはWindowsフォーム用です。すべてのWinFormsコントロールがWebフォームに相当するわけではありません。 – Jacob

+0

私の問題は正確です。しかし、FileUploadコントロール以外の私に言っても、Web Bowserからローカルフォルダのパスを見る方法はありませんか?そして、なぜ私のDEV PC上で動作するのですか?WebサーバーとローカルPCは同じで、環境はまだWebブラウザです。 – htm11h

1

使用しているコードはWindowsフォームのため、Webプロジェクトでは機能しません。これは、エラーメッセージがあなたに伝えているものです。

ユーザが自分のマシン上のディレクトリを選択するようにするには、標準のファイルアップロードコントロールがそのトリックを行います。

ユーザがWEBサーバマシン上のディレクトリを選択するようにするには、選択可能なフォルダのリストを収集し、それを意味のあるツリーまたは他のユーザインタフェース構造で提示する必要がありますあなたが実行したいタスクのために。

+0

私は、ファイルを選択することなく、ユーザが自分のローカルマシン上のフォルダを選択できるようにしたいと考えていました。 – htm11h

+1

ああ、私はあなたの問題を参照してください。残念ながら、これはまっすぐなHTMLでは利用できません。あなたがそれを理解できたとしても、セキュリティ上の理由から、そのパスにあるファイルでは何もできません。ユーザーベースがわかっている場合(つまり、一般的なアプリケーションではない場合)、ClickOnceアプリケーションで現在のフォーム実装を再利用できます。あるいは、あなたの現在のコードに基づいて、大まかにSilverlightアプレットを作成することもできます。 –

関連する問題