首页 > 解决方案 > 用户单击时如何下载文件

问题描述

我想在后面显示前 10 个字符 ... 直到 .pdf 或 xlx 或 .docx 匹配。每个结果都有链接。当用户单击特定链接时,它将重定向到匹配的文件并下载文件。谁能帮助我。

  function createRowMultiresult(jobjects) {

        var $div = $('<div class="chat Bot"></div>');
        var $div2 = $('<div class="user-photo"><img src="{% static "Robot.jpg" %}" /></div>');
        $div.append($div2);
        var $tbl = $('<table style="width:100%;"></table>');

        if (jobjects.length>1){
            var $tr = $('<tr><td style="padding:5px;">Multiple results Found for your query. Please search with specific keyword</td></tr>');
            $tbl.append($tr);
        }

        for(var x=0; x<jobjects.length;x++){

            var currentobj = jobjects[x];
            if (currentobj.ans != null){
                if (currentobj.ans.indexOf("/AA") != -1){
                    var $tr = $('<tr><td style="padding:5px;"><a href="https://' + currentobj.ans +'" target="_blank" >Click Here for User Guide</a></td></tr>');
                    $tbl.append($tr);
                }
                else{
                    var $tr = $('<tr><td style="padding:5px;">' +(x+1)+'.'+ currentobj.ans.replace(/[^\w\s]/gi, "<br/>") +'</td> </tr>');
                    $tbl.append($tr);
                    if (currentobj.Pic.length>7){
                        var $tr = $("<tr><td style='text-align:center;'><img class='productpic' src='{% static '/Pictures/' %}" + currentobj.Pic +"' /></td></tr>");
                        $tbl.append($tr);
                    }
                }
            }
            else if(currentobj.filename != null){
                    alert("Got there");
                    var $tr = $('<tr><td style="padding:5px;"><a href="https://' + currentobj.ans + '" target="_blank" >' + currentobj.filename.slice(0,10)+"...."+ +'</a></td> </tr>');
                    $tbl.append($tr);
            }
        }

        var $par = $('<p class="chat-message"></p>');
        $par.append($tbl);

        $div.append($par);
        $chatlog.append($div);

    }

每个结果都有链接。

示例实际结果:

  1. insert_data_data_data.pdf
  2. BE_guage_data_data.xlsx
  3. BE_guage_data_data.docx

预期的输出,当用户点击它会下载:

  1. 插入数据....pdf
  2. BE_guage.....xlsx
  3. BE_guage.....docx

标签: javascript

解决方案


您可以简单地计算字符长度并在某个点后替换“...”。

var displayName = ( currentobj.ans.length > 10 ) > ( currentobj.ans.substring( 0, 10 ) + '...' ) : currentobj.ans;

现在您可以使用此displayName变量进行显示。

函数中.substring()第一个参数是起点,第二个是终点。


推荐阅读