相关疑难解决方法(0)

如何使用jQuery获取附件文件内容

get我的响应上content-disposition: attachment;filename=f.csv,我需要在页面上下载此文件的内容.
$.ajax请求我有一个错误.如何使用jQuery ajax(或get)获取文件内容?
UPD

error: function( jqXHR, textStatus, errorThrown ) {
  console.log( jqXHR, textStatus, errorThrown );
}  
Run Code Online (Sandbox Code Playgroud)

得到

Object {
    ...
    readyState 0
    responseText ""
    status 0
    statusText "error"
}, error,  
Run Code Online (Sandbox Code Playgroud)

UPD 2
我找到了一个jquery.fileDownload插件,但它显示了带有保存打开对话框的浏览器窗口,如下所示: 保存/打开对话框
但我需要获取文件内容.
我不需要在电脑上下载文件.

UPD 3
完整代码列表:

$.ajax( {
    url: link,
    crossDomain: true,
    dataType: "text",
    success: function( data, textStatus, jqXHR ) {
        alert( data );
    },
    error: function( …
Run Code Online (Sandbox Code Playgroud)

ajax jquery file

7
推荐指数
1
解决办法
8148
查看次数

从ajax请求下载laravel pdf文件(laravel 5)

我的html代码是这样的:

<a href="javascript:;" onclick="showAjaxPdf('{{ $row->file_path }}');"><i class="fa fa-file-pdf-o"></i></a>
Run Code Online (Sandbox Code Playgroud)

我的JavaScript代码是这样的:

function showAjaxPdf(file_path)
        {
            var file_path = file_path.replace(/\\/g,"/");
            //example : file_path = assets/images/myfile.pdf
            $.ajax({
                type: "POST",
                data: 'file_path=' + file_path,
                url: "news/test",
                success: function(response)
                {
                    $('#test').html(response);

                }
            });
        }
Run Code Online (Sandbox Code Playgroud)

我在控制器中的功能测试:

public function postTest(Request $request)
    {
$file_path = $request->input('file_path');  
        return response()->download($file_path);       
    }
Run Code Online (Sandbox Code Playgroud)

当我单击pdf图标时,没有响应。

我希望当单击pdf图标时显示如下:

在此处输入图片说明

单击pdf图标时,图像如何显示?

谢谢

javascript pdf ajax download laravel

6
推荐指数
1
解决办法
1万
查看次数

无法使用 django 创建 CSV 文件,尽管文档中已经包含了 copaste

所以我尝试遵循 django 本身的文档如何创建 CSV 文件,我复制了代码但它没有用,应该是浏览器在成功时下载 somefilename.csv ,有什么问题吗?还是我需要在settings.py中设置一些东西?这是代码(HTML 和视图)

  <div class="col-lg-12">
            <div class="form-panel">
              <form action="#" class="form-horizontal style-form" id="form1">
                <div class="form-group">
                  <label class="control-label col-md-3">Campaign Name</label>
                   <div class="col-md-3 col-xs-11">
                    <input id = "campaign_name" type="text" class="form-control form-width">
                  </div>
                </div>
                <div class="form-group">
                 <label class="control-label col-md-3">Campaign Type</label>
                  <div class="col-md-3 col-xs-11">
                   <div class="btn-group">
                     <select id = "campaigntype"  style="width:425px;background-color:white;height:30px;font-color:red;text-align-last:center;">   
                            <option disabled selected value>-- Choose --</option>                      
                            <!-- <li><a href="#"></a></li> -->                            
                            <option value = "Informasi" >Informasi</option>                                                  
                            <option value = "Promosi" >Promosi</option>                                                  
                            <!-- <li><a href="#">Dropdown link</a></li> -->                            
                            </select>    
                   </div>
                  </div>
                </div> …
Run Code Online (Sandbox Code Playgroud)

python django

6
推荐指数
1
解决办法
137
查看次数

通过ajax方法调用函数时未下载Excel文件

情况

我正在开发一个应用程序,我可以在其中创建一个包含 X 个项目的网格,并且每个项目都有一个打印按钮。单击此打印按钮可以调用 ajax 函数,该函数将网格项的 ID 传递给控制器​​。我根据该 ID 检索相关数据,然后将其下载到 excel 文件中。(具体项目的检索尚未完成)

到目前为止我所拥有的

到目前为止,我已经有了下载 excel 文件的基本代码,以及我的 grid 。

问题

我面临的问题是,如果我单击“打印”按钮……什么也没有发生,即使我的exporttoexcel 函数中有一个断点,也会向我显示该函数已输入,我可以单步执行,尽管没有错误,但什么也没发生。但是,我添加了调用相同函数的随机按钮,当我单击该按钮时,下载了 excel 文件。因此,我认为这个问题与 aJax 有关。

代码

<input type="button" value="Test" onclick="location.href='@Url.Action("ExportToExcel", "Profile")'" />
Run Code Online (Sandbox Code Playgroud)

这是下载文件的代码。这是我添加的一个简单按钮。

function ExportToExcel(id) {
    $.ajax({
        type: "POST",
        url: "@Url.Action("ExportToExcel", "Profile")",
        data: { "id": id },
        dataType: "json"

    });
}
Run Code Online (Sandbox Code Playgroud)

这是我想要工作的功能,但它不起作用,我看不出我有什么问题。

导出到 Excel 代码

public void ExportToExcelx()
{
    var products = new System.Data.DataTable("teste");
    products.Columns.Add("col1", typeof(int));
    products.Columns.Add("col2", typeof(string));

    products.Rows.Add(1, "product 1");
    products.Rows.Add(2, "product 2");
    products.Rows.Add(3, "product 3");
    products.Rows.Add(4, "product …
Run Code Online (Sandbox Code Playgroud)

javascript asp.net-mvc excel jquery asp.net-mvc-4

6
推荐指数
2
解决办法
3543
查看次数

如何使用PHP单击文件名下载文件?

我有一个信息列表,其中有一个字段名称是超链接的字段.我希望用户在点击它时下载该特定文件.

那么,如何使用PHP单击文件名下载文件?

我尝试使用ajax,其代码如下,但我没有下载任何文件.

的download.php

$filename = $_GET['val'];
         // Fetch the file info.
 $filePath = $_SERVER['DOCUMENT_ROOT'] . "/dfms/images/docs/".$filename;

    if(file_exists($filePath)) {
        $fileName = basename($filePath);
        $fileSize = filesize($filePath);

        // Output headers.
        header("Cache-Control: private");
        header("Content-Type: application/stream");
        header("Content-Length: ".$fileSize);
        header("Content-Disposition: attachment; filename=".$fileName);

        // Output file.
        readfile ($filePath);                   
        exit();
    }
    else {
        die('The provided file path is not valid.');
    }
Run Code Online (Sandbox Code Playgroud)

javascript函数

<script>
function Inint_AJAX() {
try { return new ActiveXObject("Msxml2.XMLHTTP");  } catch(e) {} //IE
try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} //IE
try { return …
Run Code Online (Sandbox Code Playgroud)

javascript php ajax

5
推荐指数
1
解决办法
2万
查看次数

使用jQuery Ajax调用下载并保存文件

我想使用jQuery从我的浏览器下载并保存文件,特别是Ajax调用.

我发现这篇文章:使用Javascript/jQuery下载文件,并测试了Andrew Dunn提供的隐藏iFrame的解决方案.在一个简单的情况下它工作,服务器播放良好,提供内容配置:附件; ...标题,我得到另存为弹出窗口,一切正常.

但是我的情况更复杂:假设请求不仅仅是一个简单的URL; 必须提供额外的请求标头,可能它甚至不是GET方法,而是具有一些奇特的JSON有效负载的POST.这意味着我应该能够"替换"浏览器的内置get页面机制并提供我的AJAX请求.

为简单起见,我们假设我只需要为请求提供基本身份验证标头.但请记住,我可能需要更复杂的请求.

我对JavaScript和jQuery并不十分熟悉,所以我疯狂地在谷歌上搜索,最后找到了一个几乎解决方案.想法:

  • 向页面添加隐藏的iframe.
  • 将表单添加到框架中.
  • 定义表单的提交函数,它将调用我的AJAX函数,在那里我可以添加所需的身份验证(或任何其他必需的头,...)
  • 以编程方式调用提交

以下是相关代码:

function getFile(url)
{

//Creating the iframe
  iframe = document.createElement('iframe');
  iframe.id = hiddenIFrameID;
  iframe.style.display = 'none';
  document.body.appendChild(iframe);

// Adding the form to the frame
  var externalHtml = '<form id="downloadForm" action="javascript: void(0);"></form>';
  $(document.getElementById(hiddenIFrameID)).contents().find('body').html(externalHtml);
  var formObj = $(document.getElementById(hiddenIFrameID));
  var form = formObj.contents().find('#downloadForm');

// set the submit action to call my ajax function
  form.submit(function () { getURL(url); });

// execute form's submit
  form.submit();
}

function getURL(url)
{
  var response; …
Run Code Online (Sandbox Code Playgroud)

ajax jquery download

5
推荐指数
1
解决办法
5392
查看次数

带有错误处理FileNotFound的文件下载HTML

单击链接后,我想下载文件。该文件是动态提供的。

<a href="/server/myfunc?id=XXX" download="proposed_file_name">Download!</a>
Run Code Online (Sandbox Code Playgroud)

但是,如果/ server / myfunc?id = XXX链接未提供文件,则我需要能够向用户显示错误。如果文件不存在,我可以通过此链接返回布尔值false或任何http代码。

什么是最适合此实现的方法。请注意,我不希望以任何方式更改页面的当前状态,只需触发文件下载而不影响页面即可。如果不下载文件,则显示错误。

html javascript jquery download

5
推荐指数
1
解决办法
1154
查看次数

使用ASP .NET MVC和jQuery AJAX请求下载服务器生成的CSV

我正在研究以CSV格式导出数据的机制.我JSON使用jQuery以格式发送数据:

var data = JSON.stringify(dataToSend);
 $.post('DumpToCSV', { 'data': data });
Run Code Online (Sandbox Code Playgroud)

然后在控制器中我生成一个CSV文件:

 public ActionResult  DumpToCSV(string data)
    {
        Response.Clear();

        XmlNode xml = JsonConvert.DeserializeXmlNode("{records:{record:" + data + "}}");

        XmlDocument xmldoc = new XmlDocument();
        //Create XmlDoc Object
        xmldoc.LoadXml(xml.InnerXml);
        //Create XML Steam 
        var xmlReader = new XmlNodeReader(xmldoc);
        DataSet dataSet = new DataSet();
        //Load Dataset with Xml
        dataSet.ReadXml(xmlReader);
        //return single table inside of dataset
        var csv = CustomReportBusinessModel.ToCSV(dataSet.Tables[0], ",");

        HttpContext context = System.Web.HttpContext.Current;
        context.Response.Write(csv);
        context.Response.ContentType = "text/csv";
        context.Response.AddHeader("Content-Disposition", …
Run Code Online (Sandbox Code Playgroud)

csv ajax asp.net-mvc jquery json

5
推荐指数
1
解决办法
1万
查看次数

在流式传输文档数据后链接未打开

我想我在JavaScript方面缺少一些代码.我正在为每个请求下载文档.当用户点击链接时,我会获取文档数据并将其流式传输.我在Fiddler上看到数据正在关闭,但.txt文档链接没有打开.

[HttpGet]
    public HttpResponseMessage GetDataFiles(Int64 Id)
    {
        var results = context.PT_MVC_RequestFile.Where(x => x.RowId == Id).FirstOrDefault();
        HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);

        try
        {
            if (results != null)
            {
                response.Headers.AcceptRanges.Add("bytes");
                response.StatusCode = HttpStatusCode.OK;
                response.Content = new ByteArrayContent(results.Data);
                response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
                response.Content.Headers.ContentDisposition.FileName = results.FileName;
                response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
                response.Content.Headers.ContentLength = results.Data.Length;
            }
        }
        catch (EntityException ex)
        {
            throw new EntityException("GetFiles Failed" + ex.Message);
        }

        return response;
    }
Run Code Online (Sandbox Code Playgroud)

首先,我下载了该请求的所有文档,如果用户点击该文件,我会调用下载流操作.

  $.ajax({
                     url: url,
                     type: 'GET',
                   //  data: JSON.stringify(model, null),
                     contentType: "application/json",
                     success: function (data) …
Run Code Online (Sandbox Code Playgroud)

javascript c# jquery asp.net-web-api

5
推荐指数
1
解决办法
70
查看次数

django pandas 数据框下载为 excel 文件

我有一个将放置在 Docker 容器中的 Django 应用程序。

该应用程序以 Dataframe 格式准备数据。我想允许用户将数据作为 excel 文件下载到他/她的本地驱动器。

我过去曾使用过 df.to_excel,但这在这种情况下不起作用。

请建议最好的方法来做到这一点。

django excel download

5
推荐指数
1
解决办法
4308
查看次数