【发布时间】:2015-11-21 19:31:26
【问题描述】:
我已经使用 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,虽然我应该从那里获取文件属性,但可以这样做吗?!
【问题讨论】:
-
您的具体问题是什么?文件没有正确保存,上传完成后是否需要刷新页面,还是需要在上传的文件中发送附加信息?
标签: php laravel insert dropzone.js