如何使用MIME类型
今天在使用System.Net.WebClient做一个下载的时候,很郁闷,已经发不好的文件视频,却怎么也下载不了。
究其原因有两个,
- System.Net.WebClient对象的DownloadFileAsync(urine,filename)参数是否有误。
- 发布的网站是否可以访问,
对于上面两个原因,本人做了测试,
- 首先是测试了网站上的视频是否可以访问,使用本地的视频播放器打开网址视频,结果打不开,可知网站上的视频是不能访问的。解决方法:调整网址,重新设置ip地址,做法是选中iis上发布的网站,右键,选择编辑绑定,设置一个固定的ip ,操作如下图

- 设置以后,再次使用本地播放器,打开链接,可以播放。于是我就实用程序System.Net.WebClient对象的DownloadFileAsync(urine,filename)来下载,结果提示 什么MIME 类型无法访问,我上网看了下MIME是什么东西,简单地说就是MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。噢,到这里才明白,原来是格式问题。于是就有了下面操作,详情见下面的图:



- 下面是本人在搜索问题是发现的,作以引用,与本人的操作进行对比。
- 也许你会在纳闷,为什么我上传了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 | 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类型的更多相关文章
- 上传和设置Mime类型
这两天一直在忙把主页上传的事,幸亏不久前花七块钱买了一年的数据库和虚拟主机,昨天上传了自己的个人主页,发现很多问题要改,因为代码一直没整理就那么放着了,大部分东西都要重新弄,然后把本地数据库的数据迁移 ...
- 【积累篇:他山之石,把玉攻】Mime 类型列表
按照内容类型排列的 Mime 类型列表 类型/子类型 扩展名 application/envoy evy application/fractals fif application/futurespla ...
- 如何在ASP.NET的web.config配置文件中添加MIME类型
常常有一些特殊的MIME类型是IIS中没有的,一般来说要我们自己手动添加.如果网站经常更换服务器或者网站代码是提供给多个用户使用,那么会造成网站中用到的特殊的MIME类型要经常性的在IIS上配置.这里 ...
- 【IIS】IIS6.1配置 *.config 文件 的MIME类型用于升级程序
参考:http://blog.csdn.net 1. 2. 请求筛选中允许config文件下载, 3. 添加.config到 MIME类型. 3.注意:筛选项.
- 使用MultipartEntity进行post请求的默认MIME类型
MultipartEntity .FileBody的默认MIME类型:application/octet-stream
- 常用MIME类型(Flv,Mp4的mime类型设置)(转载)
转载地址:http://www.cuplayer.com/player/Help/2011/0625/83.html 也许你会在纳闷,为什么我上传了flv或MP4文件到服务器,可输入正确地址通过htt ...
- 创建 MIME 类型////////////zzz
用 Apache 创建 MIME 类型 在 Apache 里, MIME 类型和文件扩展名之间的映射是被存放在配置文件 "apache根目录/conf/mime.types" 里的 ...
- 各种文件的mime类型
扩展名:abs MIME类型:audio/x-mpeg 扩展名:ai MIME类型:application/postscript 扩展名:aif MIME类型:audio/x-aiff 扩展名:aif ...
- 为Windows Azure Web站点添加MIME类型解决文件下载失败的问题
这几天在倒腾Autodesk 360 Viewer,前面的文章也介绍过了,这将是一个全新的在线模型浏览工具.我做了个实验,把A360Viewer放在一个web 站点,然后发布到Windows Azur ...
- [转]IIS添加MIME扩展类型及常用的MIME类型列表
http://www.cr173.com/html/18997_1.html 经常我在用IIS做为下载服务器的时候有时传上去的文件比如 xxx.iso 文件名名是传上去了,但是用http打开的时候确显 ...
随机推荐
- 经历:如何设置jquery easyui中下拉框不可编辑
今天,在项目中碰到一个这样的问题,当选择按钮时候,查询条件是可以输入的,否则,表单框是不可用的[图1].但是,批量查询中的船名和装港用到了自动配置,即jquery-easyui中的combox的配置. ...
- 嵌入式系统关机/Embeded System PowerOff HowTo?
REFER: 嵌入式Linux实现关机命令 REFER: Embedded File System and power-off REFER: kernel/reboot.c REFER: PowerO ...
- About 'atoi'
在很多地方我们看到的都是:atoi 是一个 C Reference function atoi() convert a string to an integer. This function of s ...
- C++ 中的类型转换机制详解
Tips: This article based on Scott Meyers's <<Effective C++>> article 27: Minimize Castin ...
- html元素li移动动态效果
在日常工作当中遇到了一个问题,平铺型列表修改单个内容设置排序时列表排序应与之对应.一下是一个小小的例子:简单的解决了此类问题,以浮动的形式改变当前的数据的显示顺序.有不足之处欢迎指点,后期还会做一个更 ...
- php常用单词语法
header("Content-type:text/html;charset=utf-8"); 加入数组array_push($ratings_store_cop,$value); ...
- windows10和ubuntu16.04双系统下时间不对的问题
最近装了windows10和ubuntu16.04双系统,仍然出现了喜闻乐见的老问题,装完后,在windows下时区不对,之前的老办法是: sudo gedit /etc/default/rcS ut ...
- debian 学习记录-3 -关于linux -1
来源:<Debian标准教程>王旭 著 芬兰人Linus Trovalds 1991年1月2日···· 2006年初发布内核2.6.15 使用Andrew Tanenbaum < ...
- WPF MVVM 中怎样在ViewModel总打开的对话框在窗体之前
今天在WPF的项目中,写打印插件,在ViewModel中对需要弹出打印对话框,而对话框如果没有Owner所属的时候经常会被当前应用程序遮住,导致我都不知道到底弹出来没有! 参照:http://www. ...
- ECMAScript 6十大特性
ES6入门 http://es6.ruanyifeng.com/ ES6排名前十的最佳特性列表 Default Parameters(默认参数) in ES6 Template Literals (模 ...