今天在使用System.Net.WebClient做一个下载的时候,很郁闷,已经发不好的文件视频,却怎么也下载不了。

究其原因有两个,

  1. System.Net.WebClient对象的DownloadFileAsync(urine,filename)参数是否有误。
  2. 发布的网站是否可以访问,

对于上面两个原因,本人做了测试,

  1. 首先是测试了网站上的视频是否可以访问,使用本地的视频播放器打开网址视频,结果打不开,可知网站上的视频是不能访问的。解决方法:调整网址,重新设置ip地址,做法是选中iis上发布的网站,右键,选择编辑绑定,设置一个固定的ip ,操作如下图
  2. 设置以后,再次使用本地播放器,打开链接,可以播放。于是我就实用程序System.Net.WebClient对象的DownloadFileAsync(urine,filename)来下载,结果提示 什么MIME 类型无法访问,我上网看了下MIME是什么东西,简单地说就是MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。噢,到这里才明白,原来是格式问题。于是就有了下面操作,详情见下面的图:
  3. 下面是本人在搜索问题是发现的,作以引用,与本人的操作进行对比。
  4. 也许你会在纳闷,为什么我上传了flv或MP4文件到服务器,可输入正确地址通过http协议来访问总是出现“无法找到该页”的404错误呢?这就表明mp4格式文件是服务器无法识别的,其实,这是没有在iis中将相应的MIME类型进行设置的原因。那该怎样设置MIME类型呢?

  开启mp4文件的话,需要在 “Internet信息(IIS)管理器”中右击需要更改的网站或目录,可以打开形如下图的窗口(我右击的是文件夹而不是站点,所以您右击站点的话打开的 或许比我的选项卡多,不管怎样您点击HTTP头就可以打开怎样的窗口了):

  服务器增加mp4格式的MIME 类型映射设置的具体步骤是:
  “开始” > “控制面板” > “管理工具” >“Internet 信息服务(IIS管理器)”,找到您的网站,右击 > “属性” > “HTTP头” > “MIME类型” > “新建”,在“扩展名”框内输入“.mp4”,“MIME类型”框中输入“application/octet-stream”,然后确定即可。“MIME类型”只是一个描述,并非非得输入“flv-application/octet-stream”。

  服务器增加flv格式的MIME 类型映射设置的具体步骤是:
  “开始” > “控制面板” > “管理工具” >“Internet 信息服务(IIS管理器)”,找到您的网站,右击 > “属性” > “HTTP头” > “MIME类型” > “新建”,在“扩展名”框内输入“.flv”,“MIME类型”框中输入“flv-application/octet-stream”,然后确定即可。“MIME类型”只是一个描述,并非非得输入“flv-application/octet-stream”。

  MIME类型就是设定某种扩 展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以 及一些媒体文件打开方式。

下面列出常用的文件对 应的MIME类型:

Mime-Types(mime类型) Dateiendung(扩展名) Bedeutung
application/msexcel *.xls *.xla Microsoft Excel Dateien
application/mshelp *.hlp *.chm Microsoft Windows Hilfe Dateien
application/mspowerpoint *.ppt *.ppz *.pps *.pot Microsoft Powerpoint Dateien
application/msword *.doc *.dot Microsoft Word Dateien

application/octet-stream

*.exe exe
application/pdf *.pdf Adobe PDF-Dateien
application/post****** *.ai *.eps *.ps Adobe Post******-Dateien
application/rtf *.rtf Microsoft RTF-Dateien
application/x-httpd-php *.php *.phtml PHP-Dateien
     
application/x-java****** *.js serverseitige Java******-Dateien
application/x-shockwave-flash *.swf *.cab Flash Shockwave-Dateien
application/zip *.zip ZIP-Archivdateien
audio/basic *.au *.snd Sound-Dateien
audio/mpeg *.mp3 MPEG-Dateien
audio/x-midi *.mid *.midi MIDI-Dateien
audio/x-mpeg *.mp2 MPEG-Dateien
audio/x-wav *.wav Wav-Dateien
image/gif *.gif GIF-Dateien
image/jpeg *.jpeg *.jpg *.jpe JPEG-Dateien
image/x-windowdump *.xwd X-Windows Dump
text/css *.css CSS Stylesheet-Dateien
text/html *.htm *.html *.shtml -Dateien
text/java****** *.js Java******-Dateien
text/plain *.txt reine Textdateien
video/mpeg *.mpeg *.mpg *.mpe MPEG-Dateien
video/vnd.rn-realvideo *.rmvb realplay-Dateien
video/quicktime *.qt *.mov Quicktime-Dateien
video/vnd.vivo *viv *.vivo Vivo-Dateien

一下是本人的测试代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace 测试下载
{
public partial class Form1 : Form
{
System.Net.WebClient wc = new System.Net.WebClient();
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
wc.DownloadFileAsync(new Uri("http://192.168.0.106:8088/demo.mp4"), Application.StartupPath + "\\新建文件夹\\1234.mp4");
//wc.DownloadFileAsync(new Uri("http://localhost:8088/demo.mp4"), Application.StartupPath + "\\新建文件夹\\1234.mp4");
//wc.DownloadFileAsync(new Uri("http://192.168.0.150:8080/设计器介绍.wmv"), Application.StartupPath + "\\新建文件夹\\1234.mp4");

}
public void DownLoadProgress(object sender, System.Net.DownloadProgressChangedEventArgs e)
{
this.progressBar1.Value = e.ProgressPercentage;
//MessageBox.Show("已经完成" + e.ProgressPercentage.ToString(), "提示完成百分比");
}

public void DownLoadCompleted(object sender, AsyncCompletedEventArgs e)
{
MessageBox.Show("已经完成" + e.ToString(), "提示完成百分比");
System.Diagnostics.Process.Start(Application.StartupPath + "\\新建文件夹\\1234.mp4");
}

private void Form1_Load(object sender, EventArgs e)
{
wc.DownloadFileCompleted += new AsyncCompletedEventHandler(DownLoadCompleted);
wc.DownloadProgressChanged += new System.Net.DownloadProgressChangedEventHandler(DownLoadProgress);
//this.progressBar1.Step = 1;
//this.progressBar1.PerformStep();
}
}
}

如何使用MIME类型相关推荐

  1. 服务器修改mime类型,服务器上设置mime类型

    服务器上设置mime类型 内容精选 换一换 资源包括静态语音,TTS放音以及短消息,在您进行流程编排前,需要先将涉及到的资源,包括语音.短信模板添加到系统中,才能继续配置流程. 开发过程中,您有任何问 ...

  2. java7 javascript引擎_Java7中脚本引擎的一般用法,共三种方法获得JavaScript引擎:名称、文件扩展名、MIME类型 | 学步园...

    package com.sino.java7; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; i ...

  3. MIME 类型(HttpContext.Response.ContentType)列表

    按照内容类型排列的 Mime 类型列表 类型/子类型 扩展名 application/envoy evy application/fractals fif application/futurespla ...

  4. 自动注册 IIS6 的 MIME 类型

    原文 自动注册 IIS6 的 MIME 类型 由于IIS5和IIS6有很多的MIME类型没有设置,其中还包括了FLV(video/x-flv),上篇文章描述了制作<IIS6 自动安装>,而 ...

  5. php文件上传绕过mime类型,文件上传限制绕过技巧

    严正声明:本文仅限于技术讨论,严禁用于其他用途. 简介 文件上传漏洞是web安全中经常利用到的一种漏洞形式.一些web应用程序中允许上传图片,文本或者其他资源到指定的位置,文件上传漏洞就是利用这些可以 ...

  6. Android MIME类型结构

    Android MIME类型的结构 MIMW类型标准:http://tools.ietf/html/rfc2046 根据MIME类型规范,MIME类型包含两部分:类型和子类型.下面是一些流行的MIME ...

  7. 自定义MIME类型支持FLV的相关设置

    网络空间支持FLV的相关设置其实很简单,就是自定义一个MIME类型 一般虚拟主机管理里面都有这个选项 自定义MIME类型 扩展名: .flv MIME类型: flv-application/octet ...

  8. SMW0 HTML模版的形式上传文件 维护MIME类型

    使用SMW0事务代码为webrfc上传模版, 若是已HTML模版形式上传的话,所上传的文件类型必须在MIMETYPES表中有对应的MIMETYPES,如果没有对应的,则应该维护进去,否则不允许以HTM ...

  9. Mime类型与文件后缀对照表及探测文件MIME的方法

    说明:刚刚写了一篇<IHttpHandler的妙用(2):防盗链!我的资源只有我的用户才能下载>的文章,网址:http://blog.csdn.net/zhoufoxcn/archive/ ...

  10. 服务器修改mime类型,服务器上没有设置mime类型

    服务器上没有设置mime类型 内容精选 换一换 在大型网络应用中,通常会使用多台服务器提供同一个服务.为了平衡每台服务器上的访问压力,通常会选择采用负载均衡来实现,提高服务器响应效率.云解析服务支持解 ...

最新文章

  1. 产品经理入门_所以您想成为产品经理? 这就是我的入门方式。
  2. BBI:Eran Elinav组综述在微生物组研究中使用宏转录组
  3. maven-source 1.3 中不支持注释请使用 -source 5 或更高版本以启用注释
  4. 吴恩达:我们说人工智能时,实际在说些什么?
  5. 微服务一定要使用Spring-Cloud吗?
  6. html5 video修改默认样式,HTML5中将video设置为背景的方法
  7. Sublime Text 3无法安装Package Control插件的解决
  8. all方法 手写promise_我团队的一年前端实现Promise所有方法
  9. Express 常用中间件 body-parser 实现解析
  10. hdu--1181--变形课
  11. ubuntu批量创建文件夹
  12. java程序调用xfire发布的webService服务(二)
  13. html显示时间,并且实时刷新(详细代码)
  14. java定时发文件给其他人微信_如何实现微信自动发送消息?
  15. 人工合成生命的最新进展比AI还快
  16. 店铺淘客软件定制,1688分销软件OEM贴牌配合精细化运营提升店铺流量
  17. SCI、EI、ISTP收录检索技巧及核心期刊投稿导引
  18. 超详细!!vue、vue-cli脚手架项目使用prerender-spa-plugin,解决SEO并为其添加title,keyWords,descript
  19. 枕上诗书-初入红尘,不知人间疾苦,
  20. 赛舟-体验版 α测试调试方法

热门文章

  1. pyspark调用spark以及执行带in语句参数的hql示例
  2. MFSK以及MFSK和MPSK的对比
  3. LDA线性判别原理解析<数学推导>
  4. 最新基于高德地图的android进阶开发(6)感兴趣点(POI)周边搜索源码浅析
  5. 使用SniperPhish进行电子邮件钓鱼
  6. 345.反转字符串中的元音字符(力扣leetcode) 博主可答疑该问题
  7. 数字的格式化c语言课程设计,【图片】发几个C语言课程设计源代码(恭喜自己当上技术小吧主)【东华理工大学吧】_百度贴吧...
  8. php对字符串简单加密解密,PHP字符串加密解密
  9. HihoCoder 1511: 树的方差(prufer序)
  10. 【HDU6051】if the starlight never fade