Php 使用Laravel 5.1插入,无需重新加载页面

Php 使用Laravel 5.1插入,无需重新加载页面,php,laravel,insert,dropzone.js,Php,Laravel,Insert,Dropzone.js,我已经使用Dropzone好几天了,我遇到了一些问题。其思想是:用户选择他的文件,它上传并进入他的文件目录,文件的一些属性(大小、名称)进入数据库。我不能这样做,因为当用户上传文件时,页面不会刷新,并且没有任何内容进入Input::file('file')。我就是做不到。以下是我正在使用的代码: class UploadController extends Controller { public function upload() { if(Input::hasFile(

我已经使用Dropzone好几天了,我遇到了一些问题。其思想是:用户选择他的文件,它上传并进入他的文件目录,文件的一些属性(大小、名称)进入数据库。我不能这样做,因为当用户上传文件时,页面不会刷新,并且没有任何内容进入
Input::file('file')
。我就是做不到。以下是我正在使用的代码:

class UploadController extends Controller {
    public function upload() {
        if(Input::hasFile('file')){
          $file = Input::file('file');
          $user = Auth::id();
          $file->move('uploads/'.$user, $file->getClientOriginalName());
        }
        else {
          echo 'Please select a file first'; 
        }    
     }
下面是File.php模型中的两个函数

public function getFileId(){
    $fileName = Input::file('file')->getClientOriginalName();
    $files = File::where('filename', $fileName)->get(); //$fileName
    foreach ($files as $file) {
        $fileid = $file->fileid;
        echo $fileid.'<br>';
        Input::file('file')->fileid = $file->fileid; // put fileid as an attribute to the object file for futher usage  
    }       
}
public function incrementFileId(){
    $files = File::orderBy('fileid', 'desc')->take(1)->get();
    foreach($files as $file){
        echo $file->fileid + 1 .' incremented file id<br>';
    }
}
公共函数getFileId(){
$fileName=Input::file('file')->getClientOriginalName();
$files=File::where('filename',$filename)->get();//$filename
foreach($files作为$file){
$fileid=$file->fileid;
回显$fileid。“
”; Input::file('file')->fileid=$file->fileid;//将fileid作为对象文件的属性,以供将来使用 } } 公共函数incrementFileId(){ $files=File::orderBy('fileid','desc')->take(1)->get(); foreach($files作为$file){ echo$file->fileid+1。“递增的文件id
”; } }

那么,我的第三个模型函数上传文件的属性应该是什么样子呢?DropZone使用Ajax,我想我应该从那里获得文件属性,但这可以做到吗

使用
请求
而不是
输入

    public function upload(Request $request)
    {
      if ($request->hasFile('file'))
      {
        $file = $request->file('file');
        $file->move('uploads/'.$user, $file->getClientOriginalName());
      }

使用Request没有任何变化我只需要一个模型来捕获和上传文件属性检查前端了吗?Dropzone是否正确配置,是否实际上载文件(使用上载按钮或autoProcessQueue:true)?在后端,它看起来很好,我使用相同的代码。只是想问:我的控制器使用Input::和你的控制器使用Request有什么区别?好吧,看看这个,没有区别。请参见,输入facade只是\light\Http\Request类的别名,并添加了get()方法,这只是使用Request::Input()获取值的另一种方式。你到底有什么问题?文件是否未正确保存,上载完成后是否需要刷新页面,或者是否需要随上载的文件发送其他信息?