我想使用 Laravel 将 .gpx 文件上传到存储。我不想对它做任何事情,只是上传它。目前正在尝试仅上传到我的本地计算机。
每当我尝试这样做时,我都会收到以下错误:“无法打开流:权限被拒绝”。
我可以上传其他文件,包括 .png 和 .csv 文件。我可以上传比 .gpx 文件更大的文件。
当我检查它的 mimetype 时,它是“application/octet-stream”。
我不确定这是否是它无法上传的原因。
形式代码:
<form action="/gpxfiles" enctype="multipart/form-data" method="POST">
{{ csrf_field() }}
<table class="table table-striped table-hover tablesorter" id="table">
<thead class="thead-dark">
<th>Filename</th>
</thead>
<tbody>
<tr>
<td>
File:
<input type="file" name="gpxfile" id='gpxfile' />
</td>
</tr>
</tbody>
</table>
<input type="submit" value="Submit" class="btn btn-primary btn-lg">
控制器中的代码
if(request('gpxfile'))
{
$file = request('gpxfile');
$mime = $file->getClientMimeType();
$path = Storage::putFile('files\gpxfiles', $request->file('gpxfile')); //<-Fails Here
}
任何帮助将不胜感激。
我最终找到了一种有效的格式,尽管我不知道为什么。
此代码有效:
$path = Storage::putFileAs('files\gpxfiles', $request->file('gpxfile'),'test.gpx');
虽然此代码显示“权限被拒绝”
$path = Storage::putFile('files\gpxfiles', $request->file('gpxfile'));
此代码显示“权限被拒绝”
$path = Storage::put('test.gpx', $request->file('gpxfile'));
但仅适用于 gpx 文件。 所有代码行都适用于图像。
希望这能帮助任何偶然发现我遇到的同样问题的人。