Laravel - 如何上传文件类型 GPX 文件

问题描述 投票:0回答:1

我想使用 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
  }

任何帮助将不胜感激。

laravel file storage gpx
1个回答
0
投票

我最终找到了一种有效的格式,尽管我不知道为什么。

此代码有效:

$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 文件。 所有代码行都适用于图像。

希望这能帮助任何偶然发现我遇到的同样问题的人。

© www.soinside.com 2019 - 2024. All rights reserved.