在ThinkPHP框架中进行文件上传可以使用内置的File类和Request对象进行处理。具体操作如下:
创建一个包含上传表单的视图。表单中需要指定enctype属性为"multipart/form-data",以便支持文件上传。
在控制器中编写处理上传文件的方法。可以使用Request对象中的file方法获取上传的文件数组,然后通过File类中的move方法将文件移动到指定目录中。代码示例:
public function upload(){
$file = request()->file('file');
$info = $file->move( './uploads/');
if($info){
// 文件上传成功
return '文件上传成功:' . $info->getSaveName();
}else{
// 文件上传失败
return $file->getError();
}
}
其中,'./uploads/'是文件保存所在目录。
public function download(){
$file = './uploads/file.txt';
return \think\facade\Response::download($file);
}
其中,$file为要下载的文件路径,这里只是举个例子,请根据实际情况修改。
需要注意的是,在进行文件上传和下载时,建议设置相应的权限控制机制,防止非授权用户恶意上传或下载文件。同时,还需要对上传的文件进行大小、类型等限制,以保证服务安全性和稳定性。