小编Soh*_*eil的帖子

'Symfony\Component\HttpFoundation\File\File' 的序列化是不允许的,Symfony4

我在User班级中添加了头像。当我想呈现我的编辑表单时,我收到了这个错误

'Symfony\Component\HttpFoundation\File\File' 的序列化是不允许的

我试图通过根据Symfony 官方文档\Serializable在我的User班级中实现来解决这个问题。但是,当我实现的是,它重定向到登录页面,而且转向,并通过日志记录再次,它重定向到登录页面,再次留下了。Authenticationanon.anon.

我应该提到我已经设置了一些授权。如果您是“匿名者”,它会将您重定向到登录页面。并且想要访问一些受保护的路由。

这是我的UserEntityUser.php:

<?php

namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Component\Security\Core\User\UserInterface;
use Symfony\Component\Validator\Constraints as Assert;


/**
 * @ORM\Entity(repositoryClass="App\Repository\UserRepository")
 * @ORM\Table(name="user")
 * @UniqueEntity(fields={"username"}, message="This username has been taken!")
 */
class User implements UserInterface
{
    /**
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\Column(type="string", unique=true,length=191)
     * @Assert\NotBlank()
     * @Assert\Length(min="5", minMessage="Username most contain at least 5 characters!")
     */
    private $username; …
Run Code Online (Sandbox Code Playgroud)

php serialization image-uploading symfony4

4
推荐指数
1
解决办法
6537
查看次数

无法访问已处置的对象。导致此错误的常见原因是处理上下文

我编写了一个简单的应用程序,当我导航到编辑页面时,弹出以下错误。

Microsoft.EntityFrameworkCore.Query [10100]

遍历上下文类型“ app.Models.ApplicationDbContext”的查询结果时发生异常。

System.ObjectDisposedException:无法访问已处置的对象。导致此错误的常见原因是,处理从依赖项注入中解决的上下文,然后稍后尝试在应用程序中的其他位置使用相同的上下文实例。如果在上下文上调用Dispose()或将上下文包装在using语句中,则可能会发生这种情况。如果使用依赖项注入,则应让依赖项注入容器负责处理上下文实例。

似乎EF证明了我无法理解的有用信息。该错误的棘手部分是,当我导航到编辑页面时,它会随机发生。有时它可以工作,有时它无法加载某些属性,Edit.cshtml但仍然可以工作,有时应用程序崩溃,仅在我的控制台中提供了错误。另一个奇怪的发生是它剂量不会产生任何5005xx错误。它只是崩溃并停止应用程序。

这是我的Edit.cshtml内容:

@page
@model EditModel
@{
    ViewData["Title"] = "Edit Book";
}

<h2>Edit Book</h2>

<div class="row justify-content-center">
    <div class="col-md-6">
        <form method="post" class="form-border">
            <div asp-validation-summary="All" class="validation-container alert alert-danger"></div>
            <div class="form-group">
                <label asp-for="Book.Name"></label>
                <input asp-for="Book.Name" class="form-control" />
                <span class="form-text text-danger" asp-validation-for="Book.Name"></span>
            </div>
            <div class="form-group">
                <label asp-for="Book.Description"></label>
                <input asp-for="Book.Description" class="form-control" />
            </div>
            <div class="form-group">
                <label asp-for="Book.Author"></label>
                <input asp-for="Book.Author" class="form-control" />
            </div>
            <input asp-for="Book.Id" type="hidden">
            <button type="submit" class="btn btn-primary">Update</button>
            <a asp-page="Index" …
Run Code Online (Sandbox Code Playgroud)

.net entity-framework entity-framework-core .net-core

4
推荐指数
4
解决办法
3904
查看次数