Tag: httpresponse

C#Excel文件下载破坏文件?

我写了一些代码,下载某个文件到用户的计算机,这是一个MS Excel .xlsx文件。 问题是,当用户从我的web应用程序下载并打开文件时,我在excel中收到一条消息:“我们发现file.xlsx中的某些内容存在问题”。 然后,我点击yes来恢复内容,这就是日志文件显示的内容: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><logFileName>error128120_01.xml</logFileName><summary>Errors were detected in file 'F:\Downloads\file.xlsx'</summary><additionalInfo><info>Excel completed file level validation and repair. Some parts of this workbook may have been repaired or discarded.</info></additionalInfo></recoveryLog> 这是我用来在C#中下载文件的代码。 从我的研究中我相信这是.xlsx的正确的mimetype。 另外,当我在文件夹资源pipe理器中打开文件时,问题不会出现, 只有下载后。 我已经尝试了谷歌浏览器和Internet Explorer。 var fileInfo = new FileInfo(Path.Combine(Server.MapPath("~/Content/"), "file.xlsx")); Response.Clear(); Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; Response.AddHeader("Content-Disposition", "attachment; filename=" + "file.xlsx"); Response.TransmitFile(fileInfo.FullName); […]

ASP.NET 5不能使用Response

我试图从我的数据库输出信息到一个Excel文件使用ASP.Net 5.在我的控制器,我有两个这样的方法。 public void ExportData() { var data = new[]{ new{ Name="Ram", Email="ram@techbrij.com", Phone="111-222-3333" }, new{ Name="Shyam", Email="shyam@techbrij.com", Phone="159-222-1596" }, new{ Name="Mohan", Email="mohan@techbrij.com", Phone="456-222-4569" }, new{ Name="Sohan", Email="sohan@techbrij.com", Phone="789-456-3333" }, new{ Name="Karan", Email="karan@techbrij.com", Phone="111-222-1234" }, new{ Name="Brij", Email="brij@techbrij.com", Phone="111-222-3333" } }; System.Web.HttpContext.Current.Response.ClearContent(); System.Web.HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=Contact.xls"); System.Web.HttpContext.Current.Response.AddHeader("Content-Type", "application/vnd.ms-excel"); WriteTsv(data, System.Web.HttpContext.Current.Response.Output); System.Web.HttpContext.Current.Response.End(); } public void WriteTsv<T>(IEnumerable<T> data, TextWriter […]

Java HttpResponse包含内容为Javascript的Excel文件

我正在从一个网站下载一个excel文件,发布生成文件内容所需的数据后,我这样做。 CloseableHttpResponse excelResponse = httpClient.execute(post); InputStream in = excelResponse.getEntity().getContent(); File excel = new File("/myfiles/report.xls"); OutputStream out = new FileOutputStream(excel); try { IOUtils.copy(in, out); } finally { in.close(); } 问题是,当我这样做时,excel文件包含最后一行: $(window).ready(function() { runShowNotificationPopup(6); }); 我想这是内容的一部分,是为了在浏览器中popup文件对话框。 我能从HttpResponse(Apache)获得附件数据吗? 如果没有,我的select是什么去除这个? POI ? 还是有一些更简单的方法?

C#Response.ContentType在Excel中创build多个选项卡

我在C#中生成一个Excel报表,并需要添加第二个选项卡到将包含参考数据的Excel文件。 如何在不使用ClosedXML的情况下实现这一目标? Response.AddHeader("content-disposition", "attachment; filename=" + fname); Response.ContentType = "application/vnd.ms-excel"; var writer = new System.IO.StringWriter(); var htmlTextWriter = new HtmlTextWriter(writer); dataGrid.RenderControl(htmlTextWriter); Response.Write(writer.ToString()); Response.End();

XMLHttpRequest的responseType属性接受多个值

我有一个$ http reponseType取决于URL查询参数的情况。 当output-target = html时,如果我根本没有提到responseType,我可以正确地得到html中的响应。 然而当output-target = xls时,我需要这样做,使其工作并将responseType设置为arraybuffer( 以在Excel中获得响应 ) var blob = new Blob([data],{type:“application / vnd.ms-excel”}); $http({ method: 'GET', url: "https://xyz/abc?output-target=" + $scope.outputTarget, headers: {'Content-Type': 'application/x-www-form-urlencoded', 'Accept': '*/*'}, responseType: arraybuffer //for $scope.outputTarget=xls }) 我需要一些能够接受各种响应types的东西。 如果这个选项不可用,那么这是怎么回事? 我也尝试将函数传递给responseType,但是也没有工作。 responseType: (function () { if($scope.outputTarget === "table/excel;page-mode=flow") { var arraybuffer return arraybuffer; } else {return;} })() responseType文档

发送Excel文件给使用Chrome和IE但不使用Firefox的用户(获取没有扩展名的文件)

我使用OpenXML库生成和excel文件并将其发送给用户。 它与Chrome和IE工作得很好,但是当我用Firefox试了一下,我遇到了一个问题。 当使用FF保存文件时,我得到一个没有扩展名的文件当使用FF打开文件时,它像一个魅力:( 我正在使用以下function将stream发送给用户。 public static void SendToClient(Byte[] stream, string fileName) { HttpContext.Current.Response.ClearContent(); HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8; HttpContext.Current.Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; HttpContext.Current.Response.BinaryWrite(stream); HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=" + fileName + ".xlsx"); HttpContext.Current.Response.AddHeader("content-length", stream.LongLength.ToString()); HttpContext.Current.Response.End(); } 并像这样调用它: _ExcelReports.SendToClient(excelUtil.ExportToExcel(excelWorkBook), projectName + " Resources"); 即使更奇怪,FF下载对话框识别文件,如截图: 现在完成下载:

WebAPI返回文件和下载没有启动

有一个非常奇怪的问题,当我返回一个文件作为“HttpResponseMessage”,它工作时,IAM返回PDF文件,但是当我返回一个XLS文件(Excel文件)它不。 这是响应标题,我试着将内容types改为“application / vnd.ms-excel” HTTP/1.1 200 OK Cache-Control: no-cache Pragma: no-cache Content-Length: 316928 Content-Type: application/octet-stream Content-Encoding: UTF-8 Expires: -1 Server: Microsoft-IIS/8.0 Content-Disposition: attachment; filename=f.xls Content-Description: File transfer Charset: UTF-8 X-AspNet-Version: 4.0.30319 X-SourceFiles: =?UTF-8?B?QzpcZGV2XHRmc1xrYmFzcnZcZUdhaW4uV2Vic2l0ZXMuRm9yZWNhc3RpbmdcYXBpXFByaW50XENhbGxpbmdMaXN0QnlDb21wYW55T3JDdXNvdG1lcklk?= X-Powered-By: ASP.NET Date: Fri, 06 Dec 2013 07:49:47 GMT 当我在记事本中打开xls文件时,看起来像是结果。 我find一个非常奇怪的解决scheme,将其转换为base64,并链接到“data:application / octet-stream; base64”,这将开始下载,你不知道文件的名称,所以用户不会理解把它保存为XLS文件… 现在回到结果,不会开始下载…任何build议? 来自fiddler2的回应Raw HTTP/1.1 200 OK Cache-Control: no-cache Pragma: […]

ASP .NET下载与日文文件名的文件

我目前正在为我的ASP .NET应用程序使用Visual Studio 2008。 我正在尝试通过Response对象来服务于一个Excel文件。 问题是我似乎无法将文件的标题设置为日文。 如果我将它设置为日文文件名,它会作为垃圾文字返回。 我正在日文WinXP中使用日文IE浏览器。 Response.AppendHeader("Content-Type", "application/vnd.ms-excel"); Response.AddHeader("Content-Disposition", String.Format("attachment; filename=\"{0}\"", "日本語.xls")); 要么 Response.AddHeader("Content-Disposition", String.Format("attachment; filename=\"{0}\"", Server.HtmlEncode("日本語.xls"))); 我已经尝试将编码更改为Shift-JIS Response.Charset = "Shift_JIS"; 要么 Response.Charset = "sjis"; 有任何想法吗? 顺便说一句,我也有与Visual Studio 2005相同的问题。

XlsxWriter对象保存为http响应以在Django中创build下载

XlsxWriter对象保存为http响应,以在Django中创build下载?