أهلا،
لدي هذا الخطأ عندما أريد تحميل pdf من عنوان url خارجي
خطأ: أصل الملف لا يتطابق مع المشاهد
طرح خطأ جديد ("أصل الملف لا يتطابق مع المشاهد) ؛
الرجاء المساعدة!
يتم ذلك عن قصد ، انظر # 6916. قم بتعديل viewer.js لتضمين أصول المضيفين في قائمة HOSTED_VIEWER_ORIGINS. الختام كما أجاب.
شكراyurydelendik
لكني لا أعرف كيف تساعدني هذه الإجابة
لكني لا أعرف كيف تساعدني هذه الإجابة
قم بتعديل viewer.js لتضمين أصول المضيفين في قائمة HOSTED_VIEWER_ORIGINS.
لقد فعلت ذلك ولكني لا أعرف كيفية الاتصال بملف pdf البعيد الخاص بي
لقد فعلت ذلك ولكني لا أعرف كيفية الاتصال بملف pdf البعيد الخاص بي
يرجى توضيح. يمكنك أيضًا تقديم المعلومات التالية:
ملف pdf الخاص بي موجود على نظام سحابة.
وعندما أضع الوصول في متغير DEFAULT_URL ، حصلت على خطأ
خطأ: أصل عارض الملف غير مطابق
طرح خطأ جديد ("أصل عارض الملفات لا يتطابق مع \") ؛
مثال على عنوان url الخاص بي pdf http://res.cloudinary.com/image/upload/v1459791656/my_file.pdf
أقرر التعليق على هذه الأسطر في viewer.js
إذا (fileOrigin! == viewerOrigin) {
طرح خطأ جديد ("أصل الملف لا يتطابق مع المشاهد) ؛
}
لا تعلق على المنطق. استخدم console.log () لترى ما إذا كان الملف الأصلي والعارض متطابقين. تأكد من أن إدخالاً واحدًا على الأقل في كائن HOSTED_VIEWER_ORIGINS يطابق أصل المشاهد وسيختفي الخطأ "_File Origin is not match viewer_".
اضف هذا:
console.log('fileOrigin', fileOrigin);
console.log('viewerOrigin', viewerOrigin);
... أعلى اليمين:
if (fileOrigin !== viewerOrigin) {
throw new Error('file origin does not match viewer\'s');
}
أراهن أن هناك نيكلًا مفقودًا (أو لديك) شرطة مائلة مضافة في نهاية عنوان URL الخاص بك كما فعلت (اكتشفت عندما تقوم وحدة التحكم بتسجيل هذين المتغيرين).
أمل أن هذا يساعد شخصاما.
سيكون من الجيد أن تكون قادرًا على تكوين مصفوفة HOSTED_VIEWER_ORIGINS باستخدام regex / wildchars.
للسماح بنطاقات Mozilla غير المشفرة ، يجب أن أقوم بتعديل الكود المصدري لملف مكون من 10 كيلو سطر يسمى viewer.js؟
gildassamuel أنت تنقذ يومي !!
الإصلاح الصحيح هو فتح viewer.js وإلحاق مضيف ملفك بـ HOSTED_VIEWER_ORIGINS
var HOSTED_VIEWER_ORIGINS = ['null', '.....'];
لا تقم بإزالة رمز التحقق: |
لدي نفس المشكلة (أصل الملف لا يتطابق مع المشاهد) على UWP مع ملف pdf المحلي. ما الإدخال الذي يجب إضافته بالضبط إلى HOSTED_VIEWER_ORIGINS لمسار محلي؟
بالنسبة لأي شخص آخر يستخدم هذا داخل أحد التطبيقات ، كان علي إضافة "file: //" للسماح للمسارات المحلية بالعمل.
var HOSTED_VIEWER_ORIGINS = [
'باطل'،
" http://mozilla.github.io " ،
" https://mozilla.github.io " ،
'file: //' // عارض محلي في التطبيق
] ؛
في حالتي ، كنت أقوم بالترميز محليًا وكان لدي نفس المشكلة وقمت بحلها بإضافة عنواني المحلي :
var HOSTED_VIEWER_ORIGINS = [
'null',
'http://mozilla.github.io',
'https://mozilla.github.io',
'http://localhost:5000'
];
لكن لا تقم بإزالة رمز التحقق :
if (fileOrigin !== viewerOrigin) {
throw new Error('file origin does not match viewer\'s');
}
أعتقد أن إضافة هذين السطرين سيكون حلاً جيدًا. سيتم الكشف عن عنوان IP المحلي الخاص بك تلقائيًا (أينما تبدأ التطبيق الخاص بك)
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);
يتم ذلك عن قصد ، انظر # 6916. قم بتعديل viewer.js لتضمين أصول المضيفين في قائمة HOSTED_VIEWER_ORIGINS. الختام كما أجاب.
لقد ساعدني
إنها مشكلة سيئة للغاية ، كيف لم يتم حلها بعد.
تم حظر الوصول إلى الجلب على " https: //dmain/file.pdf " من الأصل " http: // localhost " بواسطة سياسة CORS: لا يوجد رأس "Access-Control-Allow-Origin" موجود على المورد المطلوب. إذا كانت الاستجابة غير الشفافة تفي باحتياجاتك ، فاضبط وضع الطلب على "no-cors" لجلب المورد مع تعطيل CORS.
أهلا،
هل هناك سبب لذلك ؟
إنها مسؤولية المتصفح عن الاهتمام بسياسة cors ، وليس pdfjs
أعتقد أنه يجب إزالة هذا الاختيار.
لقد أضفت return;
في الجزء العلوي من وظيفة ValidateFileURL وهي تعمل بشكل جيد الآن ، يمكنني تحميل ملف pdf من أمازون s3.
كما ذكر @ IK77 ، هل يمكنك تقديم سبب لذلك؟
حسنًا ، لقد وجدت هذا: https://github.com/mozilla/pdf.js/pull/6916
@ IK77
التعليق الأكثر فائدة
أقرر التعليق على هذه الأسطر في viewer.js
إذا (fileOrigin! == viewerOrigin) {
طرح خطأ جديد ("أصل الملف لا يتطابق مع المشاهد) ؛
}