【发布时间】:2021-08-26 03:34:50
【问题描述】:
我在文件夹“htdocs/webdev/example”中有一个 laravel 项目,我将整个“example”文件夹复制到另一个文件夹“htdocs/Webeng”,因为该示例文件夹不起作用,它显示了第一个视图但是在提交表单时显示“找不到页面”但是使用 artisan serve 会给出正确的输出
showForm.blade.php
<!-- showForm.blade.php -->
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Upload File</title>
<!-- CSS only -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x" crossorigin="anonymous">
</head>
<body>
<div class="container">
<div class="row">
<div class="col-12">
<br><br><br>
<!-- store route as action -->
<form action="{{route('uploads')}}" method="post" enctype="multipart/form-data">
@csrf
<!-- value Part -->
<input type="file" class="form-control" name="thing" id="title">
<br>
<input type="submit" class="btn btn-sm btn-block btn-danger" value="Upload" onclick="spinner()">
</form>
@if (session('message'))
<h1 id="t">{{ session('message') }}</h1>
@endif
</div>
</div>
</div>
</body>
</html>
web.php
<?php
use Illuminate\Support\Facades\Route;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('showForm');
})->name("start");
Route::post('/uploads', function (Request $request) {
if($request->file("thing")=="")
{
// return back()->withInput();
return redirect()->route('start')->with('message', 'Insert Data!');
}
else
{
$name=$request->file("thing")->getClientOriginalName();
$book=DB::table('books')->where('Title',$name)->count();
if($book>0)
{
return redirect()->route('start')->with('message', 'Document already exists!');
}
else{
Storage::disk("google")->putFileAs("",$request->file("thing"),$name);
$url=Storage::disk('google')->url($name);
$details=Storage::disk("google")->getMetadata($name);
$path=$details['path'];
DB::insert('insert into books (Title, Url, FileId) values (?,?,?)', [$name,$url,$path]);
return redirect()->route('start')->with('message', 'Successfully uploaded document, you have recieved token!');
}
}
})->name("uploads");
请求移动到 http://localhost/Webeng/example/uploads 这是正确的路径,在以前的文件夹中它正在工作,但现在说找不到页面
编辑: 修正路径错误还是一样
【问题讨论】:
-
你清除 laravel 缓存了吗?
php artisan cache:clearphp artisan route:clearphp artisan config:clearphp artisan view:clear?似乎新路径中不应该有“示例”,这让我认为它可能在某处使用了缓存值 -
无效,如果我将它复制到其他文件夹,它可以工作,但不能只在一个文件夹中。是因为一旦我取消了中间的复制吗?如果这是问题,我该如何解决它