Laravel Türkiye Discord Kanalı Forumda kod paylaşılırken dikkat edilmesi gerekenler!Birlikte proje geliştirmek ister misiniz?

Merhabalar , uppy üzerinden Google Drive , Dropbox vs gibi yerlerden dosya aktarımı yapmaya çalışıyorum ancak dökümanda anlatılan bir yeri anlamadım. Yardımcı olabilir misiniz ?

https://uppy.io/docs/companion/#Plugging-into-an-existing-express-server

import express from 'express'
import bodyParser from 'body-parser'
import session from 'express-session'
import companion from '@uppy/companion'

const app = express()

// Companion requires body-parser and express-session middleware.
// You can add it like this if you use those throughout your app.
//
// If you are using something else in your app, you can add these
// middlewares in the same subpath as Companion instead.
app.use(bodyParser.json())
app.use(session({ secret: 'some secrety secret' }))

const options = {
  providerOptions: {
    drive: {
      key: 'GOOGLE_DRIVE_KEY',
      secret: 'GOOGLE_DRIVE_SECRET',
    },
  },
  server: {
    host: 'localhost:3020',
    protocol: 'http',
    // This MUST match the path you specify in `app.use()` below:
    path: '/companion',
  },
  filePath: '/path/to/folder/',
}

app.use('/companion', companion.app(options))

express , express-session vs gibi middleware oluşturmamı istemiş. Bu kısmı anlayamadım ? tam olarak ne yapmamı istiyor ?

  • mgsmus bunu yanıtladı.
  • caglar_kocak Sunucunuzda NodeJs yüklü olması lazım. Sunucuda bir node uygulamasını komut satırında node app.js şeklinde çalıştırırsınız, app.js sizin uygulamanız. Sizin bahsettiğiniz companion http server kullandığı için aktif olarak çalışmalı. Sunucuda bunu sürekli çalışır tutabilmek için supervisor kurmanız ve node app.js çalıştıracak şekilde ayarlamanız gerekiyor. Daha sonra web sunucusunu subdomain ile gelen isteği node uygulamanıza yönlendirecek şekilde ayarlamanız lazım, ngnix kullanıyorsanız mesela proxy_pass ile. Burada baştan sona bunların nasıl yapıldığını yazmam mümkün değil ama araştırmaya başlamanız için yeterli olur diye düşünüyorum.

    Kolay bir iş değil, bakımı da zahmetli. Duruma göre companion için ayrı bir sunucu bile gerekebilir. Yaptığınız uygulama gerçekten o yerlere bağlanıp dosya almayı gerektirecek kadar companion kullanmanızı gerektiriyor mu? Ben şahsen oradan indir buradan yükle der geçerim yani.

    mgsmus laravel uygulaması geliştiriyorum. İsteği de xhr olarak göderiyorum. Niyetim facebook , Dropbox gibi yerlerden de dosya alabilmek. Sizin öneriniz ile uppy kullanmaya başladım ve son derece de sevdim. Entegrasyonu başarılı bir şekilde yaptım. Ancak burada sorun yaşıyorum. Bağlantı başarısız hatası alıyorum. Aslında hata tam olarak şöyle :

    Access to fetch at 'https://companion.uppy.io/drive/list/root' from origin 'https://example.com' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

      caglar_kocak Sunucunuzda ayrı bir NodeJS Express Http server ayağa kaldırmanız gerekiyor. companion.uppy.io onların kendi demo serverı. Siz oraya bağlanamazsınız, sizin de mesela companion.example.com gibi ayrı bir companion sunucunuz olmalı.

        mgsmus NodeJS Express Http server ı nasıl ayağa kaldırabilirim ? Bunun için ne yapmam gerekiyor ? İlk defa karşılaştım bu durumla. Konu hakkında bilgisizim. Özür dileyerek sizden yapmam gereken şeylerin ne olduğunu bana söylemenizi rica edebilir miyim ?

          caglar_kocak Sunucunuzda NodeJs yüklü olması lazım. Sunucuda bir node uygulamasını komut satırında node app.js şeklinde çalıştırırsınız, app.js sizin uygulamanız. Sizin bahsettiğiniz companion http server kullandığı için aktif olarak çalışmalı. Sunucuda bunu sürekli çalışır tutabilmek için supervisor kurmanız ve node app.js çalıştıracak şekilde ayarlamanız gerekiyor. Daha sonra web sunucusunu subdomain ile gelen isteği node uygulamanıza yönlendirecek şekilde ayarlamanız lazım, ngnix kullanıyorsanız mesela proxy_pass ile. Burada baştan sona bunların nasıl yapıldığını yazmam mümkün değil ama araştırmaya başlamanız için yeterli olur diye düşünüyorum.

          Kolay bir iş değil, bakımı da zahmetli. Duruma göre companion için ayrı bir sunucu bile gerekebilir. Yaptığınız uygulama gerçekten o yerlere bağlanıp dosya almayı gerektirecek kadar companion kullanmanızı gerektiriyor mu? Ben şahsen oradan indir buradan yükle der geçerim yani.