2015-05-19 11 views
8

AWS'de saklanmak üzere Laravel 5 uygulamasından bir fotoğraf yüklemeye çalışıyorum. Test etmek için Postman REST istemcisini kullanıyorum. Bir fotoğraf yüklediğimde, istek boş bir dizi döndürür. Bunun neden olabileceğini bilen var mı?

class AvatarController extends Controller 
{ 

    public function __construct(AWS $aws) 
    { 
     $this->aws = $aws; 
    } 

/** 
* Store a new avatar for a user. 
* POST northstar.com/users/{id}/avatar 
*/ 
    public function store(User $user, Request $request) 
    { 
    dd($request->all()); 
    // dd($request->file('photo')); 

    $file = $request->file('photo'); 
    // $file = Request::file('photo'); 
    // $file = Input::file('photo'); 

    $v = Validator::make(
     $request->all(), 
     ['photo' => 'required|image|mimes:jpeg,jpg|max:8000'] 
    ); 

    if($v->fails()) 
     return Response::json(['error' => $v->errors()]);   

    $filename = $this->aws->storeImage('avatars', $file); 

    // Save filename to User model 
    $user->avatar = $filename; 
    $user->save(); 

    // Respond to user with success 
    return response()->json('Photo uploaded!', 200); 
    } 
} 
+0

Kullanım ifadenizi gösteriniz, kod iyi görünüyor, bu yüzden yanlış istek sınıfını içe aktarıyorsunuzdur? – Borjante

+0

İşte kullanım ifadem: 'Northstar \ Services \ AWS kullanın; Northstar \ Models \ User kullanın; use Illuminate \ Http \ Request; Validator; girişini kullanın; Yanıtı kullanın; ' – chloealee

+0

Sorun değil, kesinlikle bir çeşit veri gönderen postacı gönderiyorsunuz? – Borjante

cevap

7

Yanıtı bul - Postman'da başlıklarımda bir sorun varmış gibi görünüyor. Hem başvuruyu kabul et/json hem de Content-Type uygulaması/json vardı. İçerik Türü'nü kaldırdıktan sonra, tümü düzeltildi. Teşekkürler!

+0

İşe yaradı !!!! Teşekkürler –

+0

bazıları bunu nasıl yapabileceğini gösterebilir? –

+1

@HosMercury Postacı'yı açarsanız ve URL'nin altında dört sekme görmeniz gerekir - Yetkilendirme, Üstbilgiler, Gövde, Ön-istek komut dosyası ve Testler. Üstbilgiler sekmesini tıklayın ve yukarıdakileri yazabilmeniz gerekir! "Kabul et", sol sütuna ve aynı satırdaki sağ sütuna gider, "application/json" yazıp "Content-Type" için aynı, bir sonraki satırın altındaki "application/json" ifadesini kullanırsınız. Bu yardımcı olur umarım! – chloealee

0

deneyin kullanımı bu

dd($request->all()); 
+0

Non-static method Illuminate \ Http \ Request :: all() statik olarak çağrılmamalı, uyumsuz içerikten $ $ varsayalım –

0

deneyin dd (İşte benim Avatar Denetleyicisi için kod $ request), dd ($ _ REQUEST), dd ($ request-> files).

+0

Herkese teşekkürler! Ne yazık ki, hala boş bir dizi/bir hata atıyor. Şimdi isteğin gelmediğini düşünüyorum, ancak Postman'a veri girdiğim ve Laravel'in 'Request'ünü kullandığımdan, bu verileri toplamamalı mıyım? – chloealee

+0

İstek {# 41 ▼ #json: null –

İlgili konular