前言:
如今你们对“js 上传文件类型”大约比较关切,小伙伴们都想要剖析一些“js 上传文件类型”的相关内容。那么小编也在网络上收集了一些关于“js 上传文件类型””的相关文章,希望大家能喜欢,小伙伴们一起来学习一下吧!1、获取上传文件:
获取整个上传文件数组($request->file();)
<!-- 表单代码 --><form method="post" action="; enctype="multipart/form-data" /><input name="file1" multiple="multiple" type="file"><input name="file2" multiple="multiple" type="file"><input type="submit"></form>
// $request->file()返回的格式array ('file1' => object(webman\Http\UploadFile),'file2' => object(webman\Http\UploadFile))
a.他是一个webman\Http\UploadFile实例的数组。
b.webman\Http\UploadFile类继承了 PHP 内置的 SplFileInfo 类,并且提供了一些实用的方法。
<?phpnamespace app\controller;use support\Request;class UploadController{ public function files(Request $request) { foreach ($request->file() as $key => $spl_file) { var_export($spl_file->isValid()); // 文件是否有效,例如ture|false var_export($spl_file->getUploadExtension()); // 上传文件后缀名,例如'jpg' var_export($spl_file->getUploadMineType()); // 上传文件mine类型,例如 'image/jpeg' var_export($spl_file->getUploadErrorCode()); // 获取上传错误码,例如 UPLOAD_ERR_NO_TMP_DIR UPLOAD_ERR_NO_FILE UPLOAD_ERR_CANT_WRITE var_export($spl_file->getUploadName()); // 上传文件名,例如 'my-test.jpg' var_export($spl_file->getSize()); // 获得文件大小,例如 13364,单位字节 var_export($spl_file->getPath()); // 获得上传的目录,例如 '/tmp' var_export($spl_file->getRealPath()); // 获得临时文件路径,例如 `/tmp/workerman.upload.SRliMu` } return response('ok'); }}
注意:
a.文件被上传后会被命名为一个临时文件,类似 /tmp/workerman.upload.SRliMu
b.上传文件大小受到defaultMaxPackageSize限制,默认10M,可在config/server.php文件中修改max_package_size更改默认值。
c.请求结束后临时文件将被自动清除
d.如果请求没有上传文件则$request->file()返回一个空的数组
e.上传的文件不支持 move_uploaded_file() 方法,请使用 $file->move()方法代替。
2、获取特定上传文件:
$request->file('avatar');
如果文件存在的话则返回对应文件的webman\Http\UploadFile实例,否则返回null。
<?phpnamespace app\controller;use support\Request;class UploadController{ public function file(Request $request) { $file = $request->file('avatar'); if ($file && $file->isValid()) { $file->move(public_path().'/files/myfile.'.$file->getUploadExtension()); return json(['code' => 0, 'msg' => 'upload success']); } return json(['code' => 1, 'msg' => 'file not found']); }}
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #js 上传文件类型