服务器上有很多文件,目前考虑的格式有:
.bmp .jpg .gif .doc .xls .txt .pdf .ppt
我可以得到这些文件的路径,要求是在页面上显示这些文件的内容,我测试了所有格式的图片都是可以用Response.WriteFile(fileName)写到浏览器上。
但是其他格式的文件都是乱码?请问怎么解决啊?
代码如下:
protected System.Web.UI.WebControls.DropDownList drpFileList;
private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
drpFileList.Items.Add("");
drpFileList.Items.Add(@"D:\TestMM\pic31673.JPG");
drpFileList.Items.Add(@"D:\TestMM\test.txt");
drpFileList.Items.Add(@"D:\TestMM\test.doc");
drpFileList.Items.Add(@"D:\TestMM\test.xls");
drpFileList.Items.Add(@"D:\TestMM\test.ppt");
drpFileList.Items.Add(@"D:\TestMM\test.pdf");
drpFileList.SelectedIndex = 0;
}
}
private void drpFileList_SelectedIndexChanged(object sender, System.EventArgs e)
{
Response.Clear();
Response.Charset = "utf-8";
Response.Buffer= true;
this.EnableViewState = false;
Response.ContentEncoding = System.Text.EncodingL.UTF8;
// 昨天晚上在问灵感之源和dudu的时候把inline写成了online,一直出错!
// 网上有些例子是错误的,例如http://www.knowsky.com/list.asp?id=4870
Response.AppendHeader("Content-Disposition","inline;filename=" + drpFileList.SelectedItem.Text);
Response.WriteFile(drpFileList.SelectedItem.Text);
Response.End();
}
private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
drpFileList.Items.Add("");
drpFileList.Items.Add(@"D:\TestMM\pic31673.JPG");
drpFileList.Items.Add(@"D:\TestMM\test.txt");
drpFileList.Items.Add(@"D:\TestMM\test.doc");
drpFileList.Items.Add(@"D:\TestMM\test.xls");
drpFileList.Items.Add(@"D:\TestMM\test.ppt");
drpFileList.Items.Add(@"D:\TestMM\test.pdf");
drpFileList.SelectedIndex = 0;
}
}
private void drpFileList_SelectedIndexChanged(object sender, System.EventArgs e)
{
Response.Clear();
Response.Charset = "utf-8";
Response.Buffer= true;
this.EnableViewState = false;
Response.ContentEncoding = System.Text.EncodingL.UTF8;
// 昨天晚上在问灵感之源和dudu的时候把inline写成了online,一直出错!
// 网上有些例子是错误的,例如http://www.knowsky.com/list.asp?id=4870
Response.AppendHeader("Content-Disposition","inline;filename=" + drpFileList.SelectedItem.Text);
Response.WriteFile(drpFileList.SelectedItem.Text);
Response.End();
}
我在想,如果不管什么格式的文件都显示,这样的需求可以实现吗?
之所以可以Response.WriteFile(fileName)显示图片,是因为浏览器默认可以打开图片,而其他格式的文件都不可以,但是.txt也不可以就有点奇怪了?