راکت
Mostafa Nazar
Mostafa Nazar
توسط 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 Nazar
تخصص :برنامه نویس وب و موبایل
@mostafa.87225 سال پیشمطرح شد
0

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

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

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

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


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

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


mmjvox
mmjvox
تخصص :QML,Objective-C,Qt/C++,Webassembly
@mmdjv.kh945 سال پیشمطرح شد
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 Nazar
تخصص :برنامه نویس وب و موبایل
@mostafa.87225 سال پیشمطرح شد
0

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


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

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

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

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

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

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