Mostafa Nazar
4 سال پیش توسط Mostafa Nazar مطرح شد
6 پاسخ

خطا در لود فایل سه بعدی از لینک خارجی کتابخانه three.js

سلام هنگام که از یه فایل با لینک خارجی استفاده میکنم .زمانی که میاد به خط Loader.load (کد زیر) خطای Access-Control-Allow-Origin'میگیره سرچ کردم نتونستم مشکل ر حل کنم
لطفا راهنمایی کنید
با تشکر

STLLoader.prototype = Object.assign( Object.create( Loader.prototype ), {

    constructor: STLLoader,

    load: function ( url, onLoad, onProgress, onError ) {

        var scope = this;

        var loader = new FileLoader( scope.manager );

        loader.setPath( scope.path );
        loader.setResponseType( 'arraybuffer' );
        loader.setCrossOrigin ("Anonymous")

               // error
        loader.load( url, function ( text ) {
            try {

                onLoad( scope.parse( text ) );

خطا

Access to XMLHttpRequest at 'http://127.0.0.1:8000/uploads/files/orders/2020/12/16/1608124775.stl' from origin 'http://localhost:3040' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

ثبت پرسش جدید
Mostafa Nazar
تخصص : برنامه نویس وب و موبایل
@mostafa.8722 4 سال پیش مطرح شد
0

ممنون @mmdjv.kh94
بالاخره تونستم .
البته دیگه ناچار شدم لینک مستقیم بهش ندم و یه آدرس بکند بدم بعد تو بکند فایل رو باز کنه و header هم براش بزارم

  header('Access-Control-Allow-Origin: *');

mmjvox
تخصص : QML,Objective-C,Qt/C++,Webasse...
@mmdjv.kh94 4 سال پیش مطرح شد
0

فایلی که دارید لود می کنید رو مستقیم دانلود می کنید یا از فایل php درخواست می کنید؟


Mostafa Nazar
تخصص : برنامه نویس وب و موبایل
@mostafa.8722 4 سال پیش مطرح شد
0

سلام @mmdjv.kh94
نه مستقیم


mmjvox
تخصص : QML,Objective-C,Qt/C++,Webasse...
@mmdjv.kh94 4 سال پیش آپدیت شد
0

به جای این که cross origin رو اینطوری اجازه بدید

loader.setCrossOrigin ("Anonymous")

اینطوری اجازه بدید و تست کنید. (البته مطمئن نیستم چرا ولی خیلی جاها دیدم که میگن setCrossOrigin جدیدا اضافه شده و برای بعضی از دیپندنسی ها قابل درک نیست )

loader.crossOrigin = '';

یا اگه از سمت سرور چیزی رو درخواست می کنید حتما باید توی هدر cross origin رو ست کنید

Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE
Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, X-Requested-With

Mostafa Nazar
تخصص : برنامه نویس وب و موبایل
@mostafa.8722 4 سال پیش مطرح شد
0

این رو قبلا امتحان کردم نشده .
الان api ها رو از لینک خارجی میگیرم مشکلی نداره ولی میخوام تصویر سه بعدی رو نمایش بدم از لینک خارجی اینجا مشکل ایجاد میکنه کتابخانه vue-3d-modal


Mostafa Nazar
تخصص : برنامه نویس وب و موبایل
@mostafa.8722 4 سال پیش مطرح شد
0

ممنون @mmdjv.kh94
بالاخره تونستم .
البته دیگه ناچار شدم لینک مستقیم بهش ندم و یه آدرس بکند بدم بعد تو بکند فایل رو باز کنه و header هم براش بزارم

  header('Access-Control-Allow-Origin: *');

mmjvox
تخصص : QML,Objective-C,Qt/C++,Webasse...
@mmdjv.kh94 4 سال پیش مطرح شد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام