柚子Nan--回归原点

Everything can be as easy as you like or as complex as you need.
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

服务器上有很多文件,目前考虑的格式有:

.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();
        }

 

 

昨天晚上问了灵感之源dudu,目前还没有解决!

我在想,如果不管什么格式的文件都显示,这样的需求可以实现吗?

之所以可以Response.WriteFile(fileName)显示图片,是因为浏览器默认可以打开图片,而其他格式的文件都不可以,但是.txt也不可以就有点奇怪了?