Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从javascript强制打开文本文件(文件位于服务器上)_C#_File_Extjs - Fatal编程技术网

C# 从javascript强制打开文本文件(文件位于服务器上)

C# 从javascript强制打开文本文件(文件位于服务器上),c#,file,extjs,C#,File,Extjs,单击“生成”按钮后,我生成了几个文件。成功生成文件并存储在服务器上后,用户将收到相同的文件,以便下载 我尝试将扩展名更改为浏览器无法直接打开的已知扩展名,即.doc。它作为一个弹出窗口显示下载文件 但是,我想将扩展更改为更有意义的扩展,例如.cfg。问题是,使用.cfg或.txt,浏览器会自动打开文件(因为它是一个文本文件)。我怎样才能覆盖这个 代码如下: 服务器端: string[] L_TextFile = P_Data.M_Content.Split('|'); System.IO.F

单击“生成”按钮后,我生成了几个文件。成功生成文件并存储在服务器上后,用户将收到相同的文件,以便下载

我尝试将扩展名更改为浏览器无法直接打开的已知扩展名,即.doc。它作为一个弹出窗口显示下载文件

但是,我想将扩展更改为更有意义的扩展,例如.cfg。问题是,使用.cfg或.txt,浏览器会自动打开文件(因为它是一个文本文件)。我怎样才能覆盖这个

代码如下:

服务器端:

 string[] L_TextFile = P_Data.M_Content.Split('|');
 System.IO.File.WriteAllLines(@"c:\files\file.cfg", L_TextFile);
 response = "1";
 return response;
extjs ajax调用成功代码:

success: function(P_Response){
    var res = Ext.util.JSON.decode(P_Response.responseText);
    if(res == '1') window.location.href'/files/file.cfg';
    else ShowError('An error has occured while generating the text file.');                                                                                                                                                                                                                         
},
基本上,使用.doc一切正常,但我想将其更改为.cfg


有任何帮助吗?

将响应MIME类型设置为“应用程序/八位字节流”,并可以选择设置文件名

例如:

response.AddHeader("Content-Disposition", "attachment;filename=\"" + filename + "\"");
response.AddHeader("Content-Type", "application/octet-stream");

将响应MIME类型设置为
“应用程序/八位字节流”
,并可以选择设置文件名

例如:

response.AddHeader("Content-Disposition", "attachment;filename=\"" + filename + "\"");
response.AddHeader("Content-Type", "application/octet-stream");

看这个看这个我的回答是一个字符串。您正在创建HTTP响应吗?确切地说,它是System.Web.HttpResponse实例。我的响应是字符串。您正在创建HTTP响应吗?确切地说,它是System.Web.HttpResponse实例。