我一直在使用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>';
}
}
那么我的第三个模型函数应该如何上传文件的属性呢? DropZone使用Ajax和我虽然我应该从那里获取文件属性但是可以这样做吗?!
答案 0 :(得分:0)
使用Request
代替Input
:
public function upload(Request $request)
{
if ($request->hasFile('file'))
{
$file = $request->file('file');
$file->move('uploads/'.$user, $file->getClientOriginalName());
}