Laravel Türkiye Discord Kanalı Forumda kod paylaşılırken dikkat edilmesi gerekenler!Birlikte proje geliştirmek ister misiniz?
  • YardımLaravel
  • WebHook'a istek Atıyorum ama oda gitmiyor neden olabilir ?

Dün mustafa abi ile cloudflare için uğraşmıştık epey bir araştırma sonrasın da https://webhook.site/ diye bir siteye yüklediğim dosyayı post ederek gidip gitmediğini görebileceğimi söylediler.

bende buna istinaden kodlarımı güncelleyim upload yaptım fakat, dosya gitmiyor.

bunun sebebini anlamıyorum neden olabilir acaba ?
Request den aldığım dosyayı direk yükleyemiyor muyum ?

        try {

            $file=$request->file;
            $token = config('services.cloudflare.token');
            $accountId = config('services.cloudflare.acountId');
            $client = new Client();

            $client->request('POST', 'https://webhook.site/e8007e4a-dffe-487c-9854-c71a11edd26b', [
                'headers' => [
                    'Authorization' => 'e8007e4a-dffe-487c-9854-c71a11edd26b@email.webhook.site',
                    'Content-Type' => 'application/json',
                ],
                'multipart/form-data' => [
                    'file' => [
                        'contents' => file_get_contents($file),
                        'name' => 'new-video.',
                    ]
                ]
            ]);
        } catch (\Exception $exception) {
            dd($exception);
        }

    koti42 Şöyle deneyin:

    use GuzzleHttp\Psr7\stream_for;
    
    'file' => [
        'contents' => stream_for(fopen($file->path(), 'r'))
        'name' => 'new-video.',
    ]

      mgsmus

      Guzzle kütüphanesin de Utils ekli abi ama

      "Class 'App\Http\Controllers\Backend\Psr7\Utils' not found"
      böyle diyor

                  $image_path = $file->getPathname();
                  $image_mime = $file->getmimeType();
                  $image_org  = $file->getClientOriginalName();
                  $client = new Client();
                  $response=$client->request('POST', 'https://webhook.site/e8007e4a-dffe-487c-9854-c71a11edd26b', [
                      'headers' => [
                          'Authorization'=> 'Bearer '.$token,
                      ],
                      'multipart' => [
                          'file'=>[
                              'name'     => 'newVideos',
                              'filename' => $image_org,
                              'Mime-Type'=> $image_mime,
                              'contents' => fopen( $image_path, 'r' ),
                          ]
      
                      ]
                  ]);

      https://prnt.sc/shrieUttpZzf webhook'a giden dosya cloudflare'e gitmiyor abi decode diye kafayı yiyecem 😃

        koti42 Ben kendim test etmem gerekecek. Müsait olunca bakarım.

          koti42 Hep aynı dosya ile test ediyorsanız farklı dosyalarla da deneyin.

            mgsmus Hangi dosyaları denemedim ki abi 😃 abi sende test edebilir misin cloudflare'e dosya yükleyebilecek misin acaba "_m0xSQePl09vXurIhZ1xXE-cVXJP4EQMnkL7gO03" 1 günlük token oluşturdum. Buda account_id 713d873c912770c070cc2383145c0730

            Dostlar sorunu çözdüm sonunda 😃 sizin de işinize yarar belki cloudflare kullanacak olursanız.

            ne yaptın diyecek olursanız name='file' bu kısmın eklenmesi gerekiyormuş sadece.

            Sorun çözülmüştür.

                    return Plupload::file('file', function ($file) {
                        try {
                            $token = config('services.cloudflare.token');
                            $accountId = config('services.cloudflare.acountId');
                            $client = new Client();
            
                            $response =$client->request('POST', 'https://api.cloudflare.com/client/v4/accounts/' . $accountId . '/stream', [
                                'headers' => [
                                    'Authorization' => 'Bearer ' . $token,
                                ],
                                'multipart' => [
                                    [
                                        'name' => 'file',
                                        'filename' => 'video deneme',
                                        'contents' => fopen($file,'r+'),
                                    ],
            
                                ]
                            ]);
                            echo $response->getBody();
            
                        } catch (\Exception $exception) {
                            dd($exception);
                        }