【问题标题】:Uploading a file in C# to windows server - how to best set up server & client?将 C# 中的文件上传到 Windows 服务器 - 如何最好地设置服务器和客户端?
【发布时间】:2013-03-19 16:09:38
【问题描述】:

我对 Windows 服务器完全不熟悉,并且通常上传到服务器,如果这是一个相当琐碎的问题,我很抱歉。

我想将文件从 C# 客户端上传到 Windows 服务器,该文件可以通过 HTTP 访问。我拥有对服务器的完全访问权限,但我确实需要对其进行设置(IIS 已经在 localhost 上运行了一个站点)。将文件上传到此服务器的最安全/最佳方式是什么(可能不透露用户名/密码),我将如何设置服务器?欢迎任何指向教程的链接。如果我理解正确的话,FTP 不是处理这个问题的最佳方式吗?

编辑:应用程序仅在受控环境中运行,因此授予应用程序对服务器的完全读/写访问权限应该没有问题。

【问题讨论】:

    标签: c# file-upload windows-server


    【解决方案1】:

    有很多选择。

    如果进行上传的客户端在您的网络之外:

    • HTTP upload 使用 HTTPS 连接。要求登录,以便不是每个人都可以上传自己的文件版本,或者
    • SFTP。您将需要第三方 SFTP 软件(遗憾的是 Windows 仍然不包括该软件)。 Filezilla 是开源的,可以在 Windows 上正常运行。

    如果进行上传的客户端在您的网络中:

    【讨论】:

    • Robocopy 听起来很有趣,我将如何为此设置服务器(以及 www.example.com 的目标参数是什么)?但是,我更喜欢带有 ssh 密钥的 SFTP 之类的东西来进行身份验证,是否有与 windows 等效和/或 windows-native 的东西?
    • 就个人而言,我会远离 Robocopy。使用它意味着您的客户端用户必须对上传到的目录具有直接写入权限,即使现在是这样,我也不想假设它总是正确的 - 网络安全组喜欢弄乱 AD 权限.如果可能的话,我会坚持使用 HTTPS 或 SFTP。
    • 对不起,应该提到,将在此评论后编辑:应用程序仅在受控环境中运行,可能仅在一台或两台电脑上运行,因此授予对应用程序的完全写入权限不是问题完全没有
    • 酷,这绝对是您最简单的解决方案 - 无需编程,只需一个批处理文件或其他东西。或者,如果您仍然使用 .NET 应用程序,File.Copy 会做同样的事情 - 使用当前用户的凭据进行复制。
    • @JoeEnos:Robocopy 有它的位置。它非常强大,但当然你必须充分控制你的环境。不是每个人都在一个有外部小组的大公司里,他们会摆弄权限。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多