在Laravel中,可以使用原始上传文件而不使用其.tmp文件。下面是一种实现方法:
<form action="/upload" method="POST" enctype="multipart/form-data">
@csrf
<input type="file" name="file">
<button type="submit">上传文件</button>
</form>
store
方法将文件存储在指定的位置。在这个例子中,我们将文件存储在storage/app/uploads
目录下:<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class UploadController extends Controller
{
public function upload(Request $request)
{
$file = $request->file('file');
$path = $file->store('uploads');
// 获取文件的原始名称
$originalName = $file->getClientOriginalName();
// 获取文件的扩展名
$extension = $file->getClientOriginalExtension();
// 获取文件的大小
$size = $file->getSize();
// 获取文件的MIME类型
$mimeType = $file->getMimeType();
// 其他操作,例如保存文件信息到数据库等
return "文件上传成功!";
}
}
upload
方法:Route::post('/upload', 'UploadController@upload');
现在,当你提交表单并选择一个文件进行上传时,Laravel将会将文件存储在指定的位置,并且你可以通过getClientOriginalName
、getClientOriginalExtension
、getSize
和getMimeType
等方法获取文件的相关信息。
注意:以上代码仅为示例,你可以根据实际需求进行修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云