Как открыть/просмотреть/загрузить файл PDF, который был возвращен сервером.EXTJS Как отобразить/открыть файл PDF, являющийся результатом ответа сервера
Я провел некоторое исследование, но не смог найти ничего, что могло бы применяться в моем сценарии. У меня есть кнопка Печать под сеткой, которая попадет на сервер, и сервер создаст файл PDF и отправит его обратно.
Когда я использую URL-адрес
локальный/HeadOffice/branchTransfer/downloadreprintfile 27500031/275
на адресной строке браузера, можно успешно открыть файл/PDF мгновенно. Однако не когда я нажимаю кнопку. Я получаю предупредительное сообщение, которое довольно obviuos:
[WARN] Невозможно разобрать JSON, возвращаемый сервером
Вот мой код .NET для создания файла.
public Stream DownloadReprintFile(string transferId, string branchId)
{
string fileName = GetFullReprintFilePath(transferId, branchId);
if (!File.Exists(fileName))
{
Reprint(transferId, branchId);
}
WebOperationContext.Current.OutgoingResponse.ContentType = "application/pdf";
return File.OpenRead(fileName);
}
Код для магазина и прокси-сервер и считывателем JSON
Ext.define('BranchTransferDashboard.store.PrintStore', {
extend: 'Ext.data.Store',
requires: [
'BranchTransferDashboard.model.PrintModel',
'Ext.data.proxy.Rest'
],
constructor: function(cfg) {
var me = this;
cfg = cfg || {};
me.callParent([Ext.apply({
storeId: 'PrintStore',
model: 'BranchTransferDashboard.model.PrintModel',
proxy: {
type: 'rest',
headers: {
Accept: 'application/pdf',
'Content-Type': 'application/pdf'
},
}
}, cfg)]);
}
});
печати Кнопка пунктКодЧтобы
console.log('Print Button Click');
var printStore = Ext.getStore('PrintStore');
var url = BranchTransferDashboard.globals.url + 'branchTransfer/downloadreprintfile/'+ this.activeRecord.transferId + '/' + this.activeRecord.sender;
printStore.proxy.url = url;
console.log(url);
printStore.load({
scope : this,
callback: function(records, operation, success) {
if (success){
}
}
});
Да. Это самый широко используемый подход, доступный в Интернете, но, к сожалению, я не смог достичь результатов, которые я хотел использовать.Я использовал форму создания, используя подход «StandardSubmit: True». Это просто отлично работает. – aMazing
Однако у меня есть проблема с этим сейчас, расположение всплывающего окна не сосредоточено на экране. Это jsut выбирает случайное пятно и отображает там файл PDF. Есть ли способ изменить положение окна. – aMazing