在Laravel中使用Dropzone上传后的成功消息

时间:2014-11-12 11:56:34

标签: javascript php laravel laravel-4 dropzone.js

使用Dropzone上传Laravel 4.2中的文件,下面是我上传后处理文件的功能。

public function postDropFiles()
{
    $file = Input::file('file');

    $destinationPath = 'uploads/'.Auth::user()->username.'/files/'.date('Y-m-d');

    $extension = File::extension($file->getClientOriginalName());
    $filename =  time().str_random(12).'.'.$extension;

    $upload_success = Input::file('file')->move($destinationPath, $filename);


    if( $upload_success ) {
        return Response::json('success', 200);//->with('uploaded','Succesiful uploaded');
    } else {
       return Response::json('error', 400);
    }

}

代码工作正常,因为你可以看到响应是200(成功)我试图传递变量名称"上传" (注释)以便我可以向用户显示已成功上传文件的消息。

在我看来,我有类似的东西:

@if(Session::has('uploaded'))
    <div class="notice-box"><strong>{{Session::get('uploaded')}}</strong></div>
@endif

我的目标是在上传后创建会话变量,然后使用它在View中显示消息。 我将不胜感激任何帮助。顺便说一下,我是Laravel的新手。

1 个答案:

答案 0 :(得分:1)

如果使用非AJAX请求

使用会话外观添加它;

Session::flash('uploaded', 'Successfully uploaded.');

这将把它放在下一个请求的会话中,然后被删除。

如果AJAX要求

将消息值传递给您传递回ajax请求的JSON数据,例如;

Response::json(array('success' => true, 'message' => 'Successfully uploaded file.'), 200);

编辑:在itachi推荐的错误中,这样就会调用ajax中的错误方法。

Response::make(array('success' => false, 'message' => 'Error while uploading file.'), 400);

然后,您可以检查成功标志,然后通过jQuery显示后续消息。