【问题标题】:how to download file using Flutter with Laravel如何使用 Flutter 和 Laravel 下载文件
【发布时间】:2022-11-17 13:55:53
【问题描述】:

我正在尝试通过我的 flutter 应用程序从 laravel 后端下载 excel 文件。我已经使用 dio 包下载了那个文件。但我在下载应用程序时遇到此错误。

[ERROR:flutter/lib/ui/ui_dart_state.cc(198)] Unhandled Exception: DioError [DioErrorType.response]: Http status error [405]
E/flutter (24963): Source stack:

**颤振代码**

void downloaddd() async {
    String name = "Excel-of-salaries";
    String path = await _getFilePath(name);
    String url =
        "http://10.0.2.2:8000/xxxxxxxxxxxxxx/${widget.masterID}";
    var data = await dio.download(url, path, data: {
      "id": 1,
    });
    print(data);
  }

代码

class SalaryExportsController extends Controller
{
    public function export(Request $request, $id)
    {
        return Excel::download(new SalaryExports($request, $id), 'users.xlsx');
    }
}

api.php

Route::post('/xxxxxxxxxx/{id}', [SalaryExportsController::class, 'export']);

【问题讨论】:

  • Http status error [405] said: Method Not Allowed,可能是你的flutter下载代码的问题,试试dio.post(),也许可以
  • 但我想下载那个文件,先生。 @SaeedGhasemi
  • PK 得到这个作为回应先生....
  • 您还必须定义下载文件的路径
  • 是的,我已经做到了……我已经解决了这个问题。

标签: android ios laravel flutter dio


【解决方案1】:

我已经通过更改 laravel 中的 http 方法解决了这个问题。

从邮寄

Route::post('/xxxxxxxxxx/{id}', [SalaryExportsController::class, 'export']);

要得到

Route::get('/xxxxxxxxxx/{id}', [SalaryExportsController::class, 'export']);

【讨论】:

    猜你喜欢
    • 2020-06-12
    • 1970-01-01
    • 2020-10-18
    • 2019-09-12
    • 2021-01-26
    • 2021-11-13
    • 2021-02-17
    • 2019-08-24
    • 1970-01-01
    相关资源
    最近更新 更多