【发布时间】:2019-07-23 03:58:00
【问题描述】:
我目前知道 laravel 不支持本地存储的临时下载 url。我想,如果我可以使用一个带有文件名的临时签名 url,那就可以了。但我认为它也不起作用,因为我在验证签名的 url 时一直返回错误。如果我从路由中删除文件名变量,它可以正常工作。
Route::get('/download/{filename}', function ($filename, Request $request) {
dd($request->hasValidSignature());
})->name('download');
Route::get('/test', function () {
return URL::temporarySignedRoute('download', now()->addMinutes(40), ['filename', 'HH_test_1G.zip']);
});
这会返回类似
http://gamedev.test/download/filename?expires=1563856292&signature=dee882c87a145e587118b4980ef8ad1f09a4fdb691cf8dd9953b6e44adafe4aa&HH_test_1G.zip
当我执行 $request->hasValidSignature() 时,它返回 false。没有文件名变量,它可以正常工作并返回 true。
我认为这可能是我的 ID 10 T 错误。
【问题讨论】: