Как перенаправить после создания файла в SuiteScript 2.0

Моя цель - перенаправить страницу после создания файла, но мой код ниже не создает файл, потому что он перенаправляет на другую страницу. Как я могу сгенерировать файл после перенаправления? возможно ли это сделать в сценариях на стороне сервера (Suitelet)?

Suitelet SuiteScript 2.0:

response.writeFile({
              file:loanPortFolio
            });

//There are no redirect before, only generate file, but because i can't generate again , 
//I need to refresh the page to generate again. so i Add this line of code to redirect me to same page.

 response.sendRedirect({
          type: http.RedirectType.SUITELET,
          identifier : 'customscript_loan_port_detailed_report',
          id : 'customdeploy_loan_portf_detailed_report',
          parameters: {
                    type : 'monthly'
                  }
 });

//Result? I can't generate because it redirect to another page -_-

Итак, вы хотите иметь возможность скачать этот файл или сохранить его в картотеке? Рендеринг и перенаправление не имеют смысла. Разработайте шаги, которые вы хотите достичь, и это будет удобно, чтобы помочь вам.

Emerson Minero 19.02.2019 15:57

Цель этого скрипта — создать ежемесячный отчет и загрузить его на компьютер, чтобы они могли просмотреть его позже. Я не хочу, чтобы пользователь заходил в картотеку и загружал ее, если я это сделаю, созданная мной страница будет бесполезной. на самом деле загрузка файла работает, но поскольку пользователю нужно нажать кнопку отправки, чтобы загрузить файл, пользователь не сможет сгенерировать его снова без обновления страницы.

zxKazumaxz 21.02.2019 06:26

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

zxKazumaxz 21.02.2019 06:29
Поведение ключевого слова "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
3
1 237
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Простой ответ: у вас не может быть обоих: writefile и redirect: если одно выполняется, другое будет «отменено».

Вы не вставили полный код, но я предполагаю, что вы используете форму в пакете, и вы добавили кнопку отправки для своей формы, а в POST вы создаете файл и используете writeFile.

Если это так, то один из способов достижения вашей цели — в сообщении после создания файла вместо использования writeFile вы можете добавить поле HTML в свою форму и установить его значение примерно так:

'<a href=[url] target=_blank>Download file</a>'

with: [url] — это ссылка, которую вы можете получить из своего файлового объекта (loanPortFolio).

При этом после отправки пользователь увидит ссылку, а поскольку целью является «_blank», файл будет сгенерирован в новой вкладке/окне, поэтому окно формы останется открытым, и его можно будет использовать снова.

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