无法使用XHR访问上传的文件 - laravel

时间:2015-07-08 19:53:12

标签: javascript php laravel xmlhttprequest

我使用带有LPology/Simple-Ajax-Uploader的laravel来上传带有xhr请求的文件。

但是,我无法使用

访问上传的文件
Input::file('name') // or eaither 
Input::get('name')

我两个都得到NULL。

我如何使用xhr请求访问上传的文件。

这是我的JS代码:

var sizeBox = document.getElementById('sizeBox'), // container for file size info
    progress = document.getElementById('progress'); // the element we're using for a progress bar

    var uploader = new ss.SimpleUpload({
      button: 'upload-btn', // file upload button
      url: '{{action('filesController@postPicUpload')}}', // server side handler
      name: 'myfile', // upload parameter name        
      progressUrl: 'uploadProgress.php', // enables cross-browser progress support (more info below)
      responseType: 'json',
      allowedExtensions: ['jpg', 'jpeg', 'png', 'gif'],
      maxSize: 1024, // kilobytes
      hoverClass: 'ui-state-hover',
      focusClass: 'ui-state-focus',
      startXHR: function(){
          console.log('startXHR');
      },
      startNonXHR: function(){
        console.log('startNonXHR');  
      },
      disabledClass: 'ui-state-disabled',
      onSubmit: function(filename, extension) {
          this.setFileSizeBox(sizeBox); // designate this element as file size container
          this.setProgressBar(progress); // designate as progress bar
        },         
      onComplete: function(filename, response) {
          console.log(response);
          if (!response) {
              alert(filename + 'upload failed');
              return false;            
          }
          // do something with response...
        }
    });  
    });

这是我的行动:

public function postPicUpload(){
        $file = Input::file('myfile');
        $file->move('imgs/'.date('Y/n/j/', time()),$file->getClientOriginalName());
    }

任何帮助?

1 个答案:

答案 0 :(得分:0)

在正常形式下遇到同样的问题我忘记添加表单数据。

enctype="multipart/form-data"