2

これについてあなたの助けをありがとう。

サイト内のファイルを管理するftpサイトとWebツール(vb.net)があります。

ftpサイトとツールは、ADグループ(イントラネット)を使用してアクセス許可を確認します。

制限されているディレクトリもあれば、それほど制限されていないディレクトリもあります。

私が使用しているダウンロードツールでは:

    My.Computer.Network.DownloadFile(urlPath, userProfileLocal & fileNameLab.Value, domainNameHid.Value, "", True, 60000, True, FileIO.UICancelOption.DoNothing)

urlPathは等しいかもしれませんftp://ftp.net/foo/bar/myfile.zip

私が使用しようとしているuserProfileLocalの場合Dim userProfileLocal As String = Environment.GetEnvironmentVariable("USERPROFILE") & "\documents"

fileNameLab.Valueは非表示の入力に事前入力されており、ファイル名です。

domainNameHid.Valueは事前入力されており、次のようになります。DOMAIN\jimmmy

ADを使用したいので、パスワード値を空白のままにします。

ユーザー名とパスワードの代わりにICredentialsを使用する必要があるというこれを見つけましたが、ICredentialsの部分を実装するのに問題あり、これが正しいかどうかさえわかりません。

私が思う残りは説明されます。

エラーが発生し続けるAccess to the path 'C:\Windows\system32\config\systemprofile' is denied.

まず、それは私が目指していた道ではありません。それがドキュメントフォルダへのパスを作成することを望んでいGetEnvironmentVariable("USERPROFILE") & "\documents"ました...これを行うためのより良い方法はありますか?場所を参照するように求められたり、デフォルトの場所を使用したりできないのはなぜですか?

第二に、...まあ、第二は、自分のディスクにダウンロードするパーマがないことと関係があります。しかし、最初に解決できれば、これも解決できると思います。

私のAD要件は、単純なタスクであるべきものの作業を台無しにしていると思います。誰かがICredentialsの例について正しい方向に私を向けることができますか(それが私が必要とする場合)、または私がここで間違っていることを私に知らせてもらえますか?

4

1 に答える 1

0

私はただ答えて、探している人に私が答えを見つけたことを知らせたかったのです。

上記で使用したコードの代わりに、私は次のものを使用することになりました。

    Dim mydocsdir = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
            Response.AppendHeader("Content-Disposition", "attachment; filename=" & fileNameLab.Value)
            Response.Clear()
            Response.WriteFile(Path.Combine(mydocsdir, fileNameLab.Value))

これは魅力のように機能しました。

別の投稿で答えを提供してくれたDarinDimitrovに特に感謝します。彼の答えは、実際には私が考えていた単純な答えでした...しかし、私のVB.Netの経験は、今ではほとんどありませんが、まだ成長しています。

于 2012-08-15T17:27:25.003 に答える