javascript - 用户单击时如何下载文件
问题描述
我想在后面显示前 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);
}
每个结果都有链接。
示例实际结果:
- insert_data_data_data.pdf
- BE_guage_data_data.xlsx
- BE_guage_data_data.docx
预期的输出,当用户点击它会下载:
- 插入数据....pdf
- BE_guage.....xlsx
- BE_guage.....docx
解决方案
您可以简单地计算字符长度并在某个点后替换“...”。
var displayName = ( currentobj.ans.length > 10 ) > ( currentobj.ans.substring( 0, 10 ) + '...' ) : currentobj.ans;
现在您可以使用此displayName
变量进行显示。
函数中.substring()
第一个参数是起点,第二个是终点。
推荐阅读
- debugging - OTS 解析错误:CFF2:未对齐的表
- vbscript - 在文本文件顶部插入行无法使用 VBScript
- qt - 请求 http URL 时,QT 报告“QNetworkReplyHttpImplPrivate::_q_startOperation 被多次调用”
- c - 使用 MPI_Isend 时出现分段错误
- asp.net-core - 为什么 ASP.NET Core 不强制 Startup 类型实现接口
- c# - 如何使用附加属性绑定 XyDataSeries 的 ObservableCollection
- point-clouds - 转换后点云中的点与层文件中的精度不同
- c++ - `clock()` 给出通常的时钟而不是 CPU 时钟
- sql - 这个条件语句的含义是什么?
- r - 处理非常大的小问题时,我有哪些选择?