Как загрузить файл, когда пользователь нажимает

Я хочу отобразить первые 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. вставка_данных_данных_данных.pdf
  2. BE_guage_data_data.xlsx
  3. BE_guage_data_data.docx

Ожидаемый результат, и когда пользователь нажмет, он загрузится:

  1. вставка_данные....pdf
  2. BE_guage.....xlsx
  3. BE_guage.....docx
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
61
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Согласно образцам и ожидаемым результатам, самый простой способ - использовать функцию замены, т.е.

result_str.replace(/_data_data\./, '...')
Ответ принят как подходящий

Вы можете просто подсчитать длину символа и заменить '...' через какой-то момент.

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

Теперь вы можете использовать эту переменную displayName для отображения.

в функции .substring() первый параметр — это начальная точка, а второй — конечная точка.

У меня есть еще один вопрос: когда пользователь нажимает на определенный файл, он перенаправляется на место и загружается. Если вы видите код https://....

harsh 13.02.2019 09:48

Так что ты что? Вы хотите скачать файл без перенаправления?

Dananjaya Ariyasena 13.02.2019 09:51

Теперь, когда я нажимаю на определенный файл, он перенаправляется на ссылку, но не загружается, потому что ссылка содержит 4 папки, каждая папка содержит файл разного формата. Как я могу подключить эту ссылку или любой метод для прямой загрузки. если состояние исправно работает . У меня проблема с условием elseif.

harsh 13.02.2019 09:54

затем вы должны добавить этот путь к папке в ссылку (насколько я знаю). нравится; если вы хотите загрузить файл в формате PDF и если он находится в папке «pdf»: http//<url>/pdf/<file name>

Dananjaya Ariyasena 13.02.2019 10:02

результаты приходят в любом формате, как я могу их связать. Предположим, первая ссылка связана с pdf, вторая ссылка связана с docx, а третья связана с xlsx. Я хочу скачать второй, то как я могу связать его.

harsh 13.02.2019 10:07

можете ли вы дать один полный currentobj объект?

Dananjaya Ariyasena 13.02.2019 10:41

Вы можете использовать регулярное выражение с группами захвата. $n — n-я группа.

var regex = /(\w{10})\w+(\.\w+)/;
var str = "insert_data_data_data.pdf";

console.info(str.replace(regex, "$1...$2"));

@harsh Вы можете использовать описанный выше способ, чтобы отобразить имя и иметь исходное имя в href.

Alex G 13.02.2019 10:40

Другие вопросы по теме