Pdf.js: kesalahan memuat pdf pada url asing dengan pdf.js

Dibuat pada 5 Apr 2016  ·  22Komentar  ·  Sumber: mozilla/pdf.js

Halo,
Saya memiliki kesalahan ini ketika saya ingin memuat pdf dari url asing

Kesalahan: asal file tidak cocok dengan milik pemirsa
throw new Error('Asal file tidak cocok dengan penampil');

tolong bantu!

Komentar yang paling membantu

Saya memutuskan untuk mengomentari baris ini di viewer.js

if (fileOrigin !== viewerOrigin) {
throw new Error('Asal file tidak cocok dengan penampil');
}

Semua 22 komentar

Itu dilakukan dengan sengaja, lihat #6916. Ubah viewer.js untuk menyertakan asal host Anda dalam daftar HOSTED_VIEWER_ORIGINS. Menutup seperti yang dijawab.

Terima kasih @yurydelendik
Tapi saya tidak tahu bagaimana jawaban ini membantu saya

Tapi saya tidak tahu bagaimana jawaban ini membantu saya

Ubah viewer.js untuk menyertakan asal host Anda dalam daftar HOSTED_VIEWER_ORIGINS.

Saya melakukannya tetapi saya tidak tahu bagaimana memanggil file pdf jarak jauh saya

Saya melakukannya tetapi saya tidak tahu bagaimana memanggil file pdf jarak jauh saya

Tolong jelaskan. Anda juga dapat memberikan informasi berikut:

  • apa URL untuk penampil termasuk parameter file?
  • apa yang diubah dalam kode viewer.js?
  • bagaimana mengonfigurasi tajuk CORS di server yang meng-host PDF?

File pdf saya ada di cloudinary.
Dan ketika saya memasukkan akses ke variabel DEFAULT_URL, saya mendapat kesalahan
Kesalahan: asal penampil file Tidak cocok
throw new Error ( 'asal penampil file tidak cocok \' s ');

Saya memutuskan untuk mengomentari baris ini di viewer.js

if (fileOrigin !== viewerOrigin) {
throw new Error('Asal file tidak cocok dengan penampil');
}

Jangan berkomentar dengan logika. Gunakan console.log() untuk melihat apakah fileOrigin dan viewerOrigin Anda cocok. Pastikan setidaknya satu entri di objek HOSTED_VIEWER_ORIGINS Anda cocok dengan viewerOrigin dan kesalahan "_File Origin tidak cocok dengan viewer_" akan hilang.

Tambahkan ini:

console.log('fileOrigin', fileOrigin);
console.log('viewerOrigin', viewerOrigin);

... tepat diatas:

if (fileOrigin !== viewerOrigin) {
throw new Error('file origin does not match viewer\'s');
}

Saya berani bertaruh nikel Anda kehilangan (atau memiliki) garis miring tambahan di akhir URL Anda seperti yang saya lakukan (ditemukan ketika konsol mencatat dua vars itu).

Semoga ini bisa membantu seseorang.

Akan menyenangkan untuk dapat mengonfigurasi array HOSTED_VIEWER_ORIGINS dengan regex/wildchars.

Untuk mengizinkan domain Mozilla non-hard-coded, saya harus memodifikasi kode sumber dari file yang dibuat dengan baris 10k bernama viewer.js?

@gildassamuel Anda menyelamatkan hari saya!!

Perbaikan yang tepat adalah membuka viewer.js dan menambahkan host file Anda ke HOSTED_VIEWER_ORIGINS
var HOSTED_VIEWER_ORIGINS = ['null', '.....'];

Jangan hapus kode cek :|

Saya memiliki masalah yang sama (Asal file tidak cocok dengan pemirsa) di UWP dengan file pdf lokal. Entri apa yang harus ditambahkan ke HOSTED_VIEWER_ORIGINS untuk jalur lokal ?

Untuk siapa pun yang menggunakan ini di dalam aplikasi, saya harus menambahkan 'file: //' untuk memungkinkan jalur lokal berfungsi.

var HOSTED_VIEWER_ORIGINS = [
'batal',
' http://mozilla.github.io ',
' https://mozilla.github.io ',
'file://' //penampil lokal di aplikasi
];

Dalam kasus saya, saya mengkodekan secara lokal dan saya memiliki masalah yang sama dan saya menyelesaikannya dengan menambahkan alamat lokal saya :

var HOSTED_VIEWER_ORIGINS = [
       'null',
       'http://mozilla.github.io',
       'https://mozilla.github.io',
       'http://localhost:5000'
];

Tapi jangan hapus kode pemeriksaan :

if (fileOrigin !== viewerOrigin) {
       throw new Error('file origin does not match viewer\'s');
}

Saya pikir menambahkan 2 baris ini akan menjadi solusi yang baik. IP lokal Anda akan terdeteksi secara otomatis (di mana pun Anda memulai aplikasi Anda)

  var LOCAL_AUTO_DETECT_ORIGIN = window.location.origin;

  var HOSTED_VIEWER_ORIGINS = ['null', 'http://mozilla.github.io', 'https://mozilla.github.io'];

  HOSTED_VIEWER_ORIGINS.push(LOCAL_AUTO_DETECT_ORIGIN);

Itu dilakukan dengan sengaja, lihat #6916. Ubah viewer.js untuk menyertakan asal host Anda dalam daftar HOSTED_VIEWER_ORIGINS. Menutup seperti yang dijawab.

membantuku

itu masalah yang sangat buruk, bagaimana pun cara mengatasinya.

Akses untuk mengambil di ' https://dmain/file.pdf ' dari asal ' http://localhost ' telah diblokir oleh kebijakan CORS: Tidak ada header 'Access-Control-Allow-Origin' pada sumber daya yang diminta. Jika respons buram memenuhi kebutuhan Anda, setel mode permintaan ke 'tanpa-kor' untuk mengambil sumber daya dengan CORS dinonaktifkan.

Halo,

apakah ada alasan untuk ini?

itu adalah tanggung jawab browser untuk peduli dengan kebijakan cors, bukan pdfjs
saya pikir cek ini harus dihapus.

saya telah menambahkan return; di bagian atas fungsi validateFileURL dan sekarang berfungsi dengan baik, saya dapat memuat pdf dari amazon s3.

seperti yang disebutkan @IK77 , dapatkah Anda memberikan alasan untuk ini?

baik, saya menemukan ini: https://github.com/mozilla/pdf.js/pull/6916
@IK77

Apakah halaman ini membantu?
0 / 5 - 0 peringkat