2015-05-19 14 views
8

Tôi đang cố gắng tải lên ảnh từ ứng dụng Laravel 5 của mình để được lưu trữ trong AWS. Tôi đang sử dụng ứng dụng khách Postman REST để kiểm tra. Khi tôi tải ảnh lên, yêu cầu sẽ trả về một mảng trống. Có ai biết tại sao điều này có thể? Dưới đây là các mã cho tôi điều khiển Avatar:

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

Hãy hiển thị câu lệnh sử dụng của bạn, mã có vẻ tốt nên có thể bạn đã nhập nhầm lớp yêu cầu? – Borjante

+0

đây là tuyên bố sử dụng của tôi: 'sử dụng Northstar \ Services \ AWS; sử dụng Northstar \ Models \ User; sử dụng Illuminate \ Http \ Request; sử dụng Trình xác thực; sử dụng Phương thức nhập; sử dụng Trả lời; ' – chloealee

+0

Đó là ok, và chắc chắn bạn đang gửi một số loại dữ liệu thông qua postman? – Borjante

Trả lời

7

Tìm thấy câu trả lời - có vẻ như đã xảy ra sự cố với tiêu đề của tôi trong Postman. Tôi đã chấp nhận cả ứng dụng/json và ứng dụng Content-Type/json. Khi tôi xóa Nội dung loại, tất cả đều được khắc phục. Cảm ơn!

+0

Đã hoạt động !!!! Cảm ơn bạn –

+0

có thể một số minh họa làm thế nào để làm điều này? –

+1

@HosMercury nếu bạn mở Postman và dưới URL bạn sẽ thấy bốn tab - Cấp phép, Tiêu đề, Nội dung, Yêu cầu trước tập lệnh và Kiểm tra. Nhấp vào tab Tiêu đề và bạn có thể nhập vào ở trên! "Chấp nhận" đi vào cột bên trái và cột bên phải trên cùng một hàng, bạn sẽ viết "application/json" và tương tự cho "Content-Type" và một lần nữa, "application/json" ở trên hàng tiếp theo. Hi vọng điêu nay co ich! – chloealee

0

thử sử dụng này

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

Không tĩnh phương pháp Illuminate \ Http \ Request :: all() không nên được gọi là tĩnh, giả sử $ này từ bối cảnh không tương thích –

0

Thử dd ($ request), dd ($ _ REQUEST), dd ($ request-> files).

+0

Cảm ơn tất cả! Thật không may, vẫn còn một mảng trống/ném một lỗi. Bây giờ tôi đang nghĩ rằng yêu cầu không được thông qua nhưng vì tôi đang nhập dữ liệu vào Postman và sử dụng 'Request' của Laravel, không nên thu thập dữ liệu? – chloealee

+0

Yêu cầu {# 41 ▼ #json: null –

Các vấn đề liên quan