서버가 반환 한 PDF 파일을 열거 나 보거나 다운로드하려면 어떻게해야합니까?EXTJS 서버 응답의 결과 인 PDF 파일을 표시/열기하는 방법
나는 약간의 조사를했지만 내 시나리오에는 적용 할 수있는 것을 찾지 못했습니다. 서버에 충돌하는 그리드 아래에 버튼 인쇄가 있습니다. 그러면 서버가 PDF 파일을 만들어 다시 전송합니다.
나는 즉시 URL을
로컬 호스트 /의 headoffice/branchTransfer가/downloadreprintfile/27500031 브라우저 주소 표시 줄에
/275, I 성공적으로 열 수있는 PDF 파일을 사용
. 그러나 내가 버튼을 클릭 할 때 아닙니다.가 [WARN] 서버
여기에 파일을 만들기위한 내 닷넷 코드가에 의해 반환 된 JSON을 구문 분석 할 수 없습니다 : 꽤 obviuos하는 경고 메시지가 표시됩니다. 저장 및 프록시와 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)]);
}
});
인쇄 버튼 클릭 코드
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);
}
코드
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"접근법을 사용하여 Create Form을 사용했다. 그것은 단지 완벽하게 작동했습니다. – aMazing
그러나 지금은이 문제가 생겼습니다. 팝업 창의 위치는 화면 중앙에 있지 않습니다. 그것은 jsut 임의의 지점을 집어 들고 거기에 PDF 파일을 표시합니다. 창 위치를 바꿀 수있는 방법이 있습니까? – aMazing