【问题标题】:Using VB.net for file download and AD check使用 VB.net 进行文件下载和 AD 检查
【发布时间】:2012-08-14 07:58:58
【问题描述】:

感谢您对此的帮助。

我有一个 ftp 站点和管理站点中文件的网络工具 (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,所以我将密码值留空。

我发现 this 说我应该使用 ICredentials 代替用户名和密码,但我在实现 ICredentials 部分时遇到了麻烦,甚至不确定这是否正确。

我认为其余的都考虑在内。

我不断收到错误Access to the path 'C:\Windows\system32\config\systemprofile' is denied.

首先,这不是我要走的路。我希望GetEnvironmentVariable("USERPROFILE") & "\documents" 会创建文档文件夹的路径......有没有更好的方法来做到这一点?为什么不能只提示浏览到某个位置或使用默认位置?

第二,...嗯,第二个与我没有权限下载到我自己的磁盘有关。但是如果第一个可以解决,那么我想这也可以。

我认为我的 AD 要求正在搞砸本应简单的任务。有人可以为 ICredentials 的示例指出正确的方向(如果这是我需要的),或者让我知道我在这里做错了什么?

【问题讨论】:

    标签: asp.net vb.net download ftpwebrequest


    【解决方案1】:

    我只是想回复一下,让正在寻找的人知道我找到了答案。

    我最终使用了以下代码,而不是上面使用的代码:

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

    这就像一个魅力。

    我需要特别感谢Darin Dimitrov,他在另一篇文章中提供了答案。他的回答实际上是我认为可能的简单答案......但我的 VB.Net 经验虽然现在还很少,但仍在增长。

    【讨论】:

    • 另一个注意事项...对于那些学习 VB.Net 的人...(我认为这会为您省去很多麻烦)很容易混淆方法和类...有些是设计的在桌面应用程序内部工作,而其他人则为 Web 表单设计。有时,当您四处搜索并寻找可行的解决方案时,很难区分。辨别差异的不太简单的方法是查看上下文,您是在尝试客户端还是服务器端以及方法/类在哪里工作?
    猜你喜欢
    • 2017-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多