1、首先打开Internet信息服务(IIS)管理器,选择新建网站,如果没有Internet信息服务(IIS)管理器,可以在控制面板添加,按照 控制面板\程序\程序和功能,点击 打开或关闭Windows功能,添加 Internet信息,全部勾选,点击 确定,等待安装完成,之后再打开就有Internet信息服务,操作如下

2、添加网站,选择 网站,右键 添加网站,弹出添加网站窗体,填写网站信息 如:测试http网站部署文件服务器

3、切换到 功能视图,双击 目录浏览 ,右侧区域,点击  启用。

4、同样 切换到 功能视图,双击 WebDAV创作规则,右侧区域 选择 添加创作规则

选择 所有用户,权限下的读取,源,写入全部勾选,点击确定。

选择 右侧区域  WebDAV设置,设置请求筛选行为和属性行为,点击 右侧 应用

在选择网站测试http网站部署文件服务器,点击功能视图,右侧区域 点击 启用WebDAV

5、同样 切换到功视图,双击  身份验证,启用 匿名身份验证和Windows身份验证

6、选择网站 测试http网站部署文件服务器,右键 管理网站  浏览 ,浏览器显示web.config文件,如下图,即使成功。

7、添加用户和设置网站物理路径D:\TestHttpDeployFileServer下的文件夹的访问权限TestHttpDeployFileServer

添加用户:选择桌面上的  我的电脑或计算机,右键 管理,选择 本地用户组下用户,右侧空白位置 右键 新用户,

双击 添加的myjj用户,设置 用户 隶属于  Power Users

设置网站物理路径D:\TestHttpDeployFileServer下的文件夹的访问权限TestHttpDeployFileServer:

选择文件夹TestHttpDeployFileServer,右键属性,选择 安全 设置myjj用户所属用户组的权限即可,如果没有 Power Users用户组,就选择 添加 高级 立即查找,然后选择 Power Users点击确定,即可设置访问权限

8、经过上述步骤,一个网站的http访问的文件服务器已经架设成功了,下面就可以使用了,具体如下

新建控制台项目程序,Program.cs内容如下:

using System;
using System.Collections.Generic;
using System.Net;
using System.Text;

namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
TestWebclient testWebclient = new TestWebclient();
testWebclient.WebClientUpload();//上传
testWebclient.WebClientDownload();//下载
testWebclient.WebClientdelete();//删除
//WebClientDownload();//下载
//WebClientUpload();//上传
//WebClientDelete();//删除
Console.ReadKey();
}

#region 下载
/// <summary>
/// 下载
/// </summary>
static void WebClientDownload()
{
WebClient webClient = new WebClient
{
Credentials = CredentialCache.DefaultCredentials
};
//Uri _uri = new Uri(@"http://localhost:8082/123.txt");
Uri uri = new Uri(@"http://192.168.0.100:8082/123.txt");
webClient.DownloadProgressChanged += WebClient_DownloadProgressChanged;
webClient.DownloadFileCompleted += WebClient_DownloadFileCompleted;
webClient.DownloadFileAsync(uri, @"D:\download\123.txt");
}

private static void WebClient_DownloadFileCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
{
Console.WriteLine("下载完成...");
}

private static void WebClient_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
Console.WriteLine($"{e.ProgressPercentage}:{e.BytesReceived}/{e.TotalBytesToReceive}");
}

#endregion

#region 上传

/// <summary>
/// 上传
/// </summary>
static void WebClientUpload()
{
WebClient webClient = new WebClient
{
Credentials = new NetworkCredential("test", "123")
};
Uri uri = new Uri(@"http://192.168.0.100:8082/456.xlsx");
webClient.UploadProgressChanged += WebClient_UploadProgressChanged;
webClient.UploadFileCompleted += WebClient_UploadFileCompleted;
webClient.UploadFileAsync(uri, "PUT", @"D:\download\456.xlsx");
}

private static void WebClient_UploadFileCompleted(object sender, UploadFileCompletedEventArgs e)
{
Console.WriteLine("上传完成...");
}

private static void WebClient_UploadProgressChanged(object sender, UploadProgressChangedEventArgs e)
{
Console.WriteLine($"{e.ProgressPercentage}:{e.BytesSent}/{e.TotalBytesToSend}");
}
#endregion

#region 删除
/// <summary>
/// 删除
/// </summary>
static void WebClientDelete()
{
WebClient webClient = new WebClient
{
Credentials = new NetworkCredential("test", "123")
};
Uri uri = new Uri(@"http://192.168.0.100:8082/456.xlsx");
webClient.UploadDataCompleted += WebClient_UploadDataCompleted;
webClient.UploadDataAsync(uri, "DELETE", new byte[0]);
}

private static void WebClient_UploadDataCompleted(object sender, UploadDataCompletedEventArgs e)
{
Console.WriteLine("已删除...");
}
#endregion
}

}

TestWebclient类代码如下:

using System;
using System.Collections.Generic;
using System.Net;
using System.Text;

namespace ConsoleApp1
{
public class TestWebclient
{
#region 下载
public void WebClientDownload()
{
WebClient webClient = new WebClient();
webClient.Credentials = CredentialCache.DefaultCredentials;
Uri uri = new Uri(@"http://localhost:8087/123.txt");

webClient.DownloadProgressChanged += WebClient_DownloadProgressChanged;
webClient.DownloadDataCompleted += WebClient_DownloadDataCompleted;
webClient.DownloadFileAsync(uri, @"D:\download\123.txt");
}

private static void WebClient_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
Console.WriteLine($"已下载百分比:{e.ProgressPercentage}:{e.BytesReceived / e.TotalBytesToReceive}");
}

private static void WebClient_DownloadDataCompleted(object sender, DownloadDataCompletedEventArgs e)
{
Console.WriteLine("下载完成...");
}

#endregion

#region 上传
public void WebClientUpload()
{
WebClient webClient = new WebClient();
//webClient.Credentials = new NetworkCredential("test123","123");
webClient.Credentials = CredentialCache.DefaultCredentials;
Uri uri = new Uri(@"http://localhost:8087/456.xlsx");

webClient.UploadProgressChanged += WebClient_UploadProgressChanged;
webClient.UploadFileCompleted += WebClient_UploadFileCompleted;
webClient.UploadFileAsync(uri, "put", @"D:\download\456.xlsx");
}

private void WebClient_UploadFileCompleted(object sender, UploadFileCompletedEventArgs e)
{
Console.WriteLine("上传完成");
}

private void WebClient_UploadProgressChanged(object sender, UploadProgressChangedEventArgs e)
{
Console.WriteLine($"{e.ProgressPercentage}:{e.BytesSent/e.TotalBytesToSend}");
}
#endregion

#region 删除
public void WebClientdelete()
{
WebClient webClient = new WebClient();
webClient.Credentials = new NetworkCredential("test123","123");
//webClient.Credentials = CredentialCache.DefaultCredentials;
Uri uri = new Uri(@"http://localhost:8087/456.xlsx");

webClient.UploadDataCompleted += WebClient_UploadDataCompleted;
webClient.UploadDataAsync(uri, "DELETE", new byte[0]);
}

private void WebClient_UploadDataCompleted(object sender, UploadDataCompletedEventArgs e)
{
Console.WriteLine("已删除");
}
#endregion
}
}

iis网站搭建http访问的文件服务器的更多相关文章

  1. IIS网站程序无法访问oracle

    系统环境: win7 + iis7 asp.net应用程序访问oracle数据库时,报ORA-12560: TNS: 协议适配器错误. 使用c/s程序访问数据库没有问题,plsql也没问题,说明ora ...

  2. Web应用程序项目XXXX已配置为使用IIS。无法访问IIS元数据库。您没有足够的特权访问计算机上的IIS网站

    问题:Windows8下直接使用VS打开项目,出现问题:XXXX已配置为使用IIS.无法访问IIS元数据库.您没有足够的特权访问计算机上的IIS网站.解决:1.以“管理员权限”运行VS,在VS菜单打开 ...

  3. Web 应用程序项目 XXXX 已配置为使用 IIS。 无法访问 IIS 元数据库。您没有足够的特权访问计算机上的 IIS 网站。(转载)

    Web 应用程序项目 XXXX 已配置为使用 IIS. 无法访问 IIS 元数据库.您没有足够的特权访问计算机上的 IIS 网站. 2012年05月19日 ⁄ 综合 ⁄ 共 261字 ⁄ 字号 小 中 ...

  4. 局域网不能访问本机IIS网站的解决方法

    背景:Win7环境下,本机能访问本机IIS网站,但局域网其它电脑访问不了. 解决方法: 一.如果IIS网站是80端口:点击右下角“电脑”图标 -> 点击“打开网络和共享中心” -> 在弹出 ...

  5. IIS网站设置禁止IP访问设置方法

    本文设置系统为Windows2003.IIS版本是6.0. 打开IIS管理器,在iis管理器左侧单击打开网站下面的相应需要设置的网站,并在此网站上右键,选择属性,即可打开该网站属性进行相关设置. (i ...

  6. 【Visual Studio】关于vs 打开网站时报错 配置iis express失败 无法访问IIS元数据库...

    关于vs 打开网站时报错 配置iis express失败 无法访问IIS元数据库... 我安装了vs2015,一开始创建项目,网站都没问题,有一次突然打开项目时报错,瞬间懵逼,我啥都没干啊!!! 网上 ...

  7. 网站搭建-2-本地网站搭建-安装Linux虚拟机/ 安装IIS Windows

    搭建网站-1-域名申请参见公众号 生物信息系统(swxxxt) 首先,已经拥有了一个可以正常使用的域名. 之前买了两年的阿里的服务器,由于是Windows的,最后不了了之了(因为当时找的代码都是lin ...

  8. 配置, 映射WebDAV, 并通过IIS网站访问

    服务端 0. 服务端安装IIS时, 选中WebDAV发布, Windows身份验证, 安装完毕后, 打开IIS管理器(inetmgr); 1. 新建网站或使用默认网站, 创建虚拟目录, 虚拟目录物理路 ...

  9. 在Win7的IIS上搭建FTP服务及用户授权

    FTP服务 FTP是文件传输协议(File Transfer Protocol)的简称,该协议属于应用层协议(端口号通常为21),用于Internet上的双向文件传输(即文件的上传和下载).在网络上有 ...

随机推荐

  1. requests-html模块(下)

    render方法 我们先理一下关系requests和的作者是同一个人,pyppeteer是nodejs中puppeteer的非官方实现 requests-html调用的pyppeteer与浏览器进行交 ...

  2. C++ --- 编码习惯小区别

    定义一个变量,最好养成C代码的习惯 C代码: 用到的变量X,要在最开始定义:先定义,用的时候在初始化: [例如] int x; //先定义 ..... ..... ; //再初始化 C++代码: 用到 ...

  3. java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.Integer

    mybatis配置的jdbaType类型要是大写的,否则就会出现此种异常 原因是在xml中配置的 jdbcType中有小写字母

  4. vbs读取TXT每一行并赋值到变量a

    vbs代码: Dim fso,f,a Set fso = CreateObject("Scripting.FileSystemObject") Set f=fso.OpenText ...

  5. 用python查看网站被百度所有收录网址与标题进行SEO分析

    SEO要是和python数据分析联合在一起,可谓是很好的方法,没事的时候尝试写的分析网站被百度收录的网址和标题. 首先得引入两个py模块,分别是:Beautiful      Souprequests ...

  6. PL/sql配置相关

    可以安装oracle之后,打开PL/sql之后,自动找到oracle的路径以及数据库连接.   或者:安装oracle客户端,手动在PL/sql中配置oic以及oracle主目录的位置,并且配置好C: ...

  7. PAT乙级1040 有几个PAT

    题目: 1040 有几个PAT (25分)   字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位(P),第 4 位(A),第 6 位(T):第二个 PAT 是第 3 位 ...

  8. 2019-2020-1 20199302《Linux内核原理与分析》第三周作业

    云班课学习内容 一.C语言中嵌入汇编代码 1.内嵌汇编语法 (1)C语言中嵌入汇编代码的写法: asm( 汇编语句模板: 输出部分: 输入部分: 破坏描述部分): 说明:输出部分和输入部分对应着C语言 ...

  9. 备份docker运行的gitlab

    #!/bin/bash data=$(date "+%Y-%m-%d %H:%M:%S") gitBak='/data/gitlab/data/backups' delFile=` ...

  10. 比较ping,tracert和pathping等命令之间的关系

    无论你是一个网络维护人员,还是正在学习TCP/IP协议,了解和掌握一些常用的网络测试命令将会有助于您更快地检测到网络故障所在,同时也会有助你您了解网络通信的内幕. 下面我们逐步介绍几个常用的命令: 1 ...