我尝试使用 ajax 和 symfony 上传文件

2023-11-22

我正在使用 Symfony 2.7

我收到了这个表格

<form name="Document" method="post" action enctype="multipart/form-data">
    <div class="col-md-6">
        <input type="file" id="documento" name="Document[Ruta]" required="required">
    </div>
    <div class="col-md-3">
        <button type="button" onclick="saveDoc()" class="btn btn-success" data-dismiss="modal">Subir</button>
    </div>
</form>

和这个阿贾克斯:

function saveDoc() {
    var inputFile = document.getElementById('documento');
    var file = inputFile.files[0];
    var data = new FormData();
    data.append('doc', file, file.name);
    $.ajax({
        url: "{{ path('fileupload') }}",
        type: "POST",
        data: {'data': data},
        processData: false,
        contentType: false,
        cache: false
    });

}

使用这个 symfony 控制器:

public function fileUpload(Request $request)
{
    $file = $request->files->get('doc')->getClientOriginalName;
    $user = $this->getUser();

    $filename = md5(uniqid()).'.'.$file->guessExtension();

    $request->files->get('doc')->move(
        $this->getParameter('upload_directory'),
        $filename
    );
    $document = new Document();
    $document->setRuta($filename);
    $document->setIdUser($user);
    $document->setFechaCreacion(new \DateTime("now"));
    $em = $this->getDoctrine()->getManager();
    $em->persist($document);
    $em->flush();

    return new JsonResponse(true);

}

但我收到这个错误:

注意:尝试获取非对象的属性 500 内部服务器错误 - ContextErrorException

我看到 235897 个页面使用 symfony 和 ajax 上传文件,我无法理解我的代码有什么问题,你们能帮我吗?


改变这个

function saveDoc() {
    var inputFile = document.getElementById('documento');
    var file = inputFile.files[0];
    var data = new FormData();
    data.append('doc', file, file.name);
    $.ajax({
        url: "{{ path('fileupload') }}",
        type: "POST",
        data: {'data': data},
        processData: false,
        contentType: false,
        cache: false
    });

}

To

function saveDoc() {
    var inputFile = document.getElementById('documento');
    var file = inputFile.files[0];
    var data = new FormData();
    data.append('doc', file, file.name);
    $.ajax({
        url: "{{ path('fileupload') }}",
        type: "POST",
        data: data,
        processData: false,
        contentType: false,
        cache: false
    });

}

并在控制器中

更改以下行:

$file = $request->files->get('doc')->getClientOriginalName;

to:

$file = $request->files->get('doc');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我尝试使用 ajax 和 symfony 上传文件 的相关文章

随机推荐

  • 使用Jquery从Json对象获取父节点

    我试图通过子节点获取 json 对象中的父节点 我从客户端获得的 json 是一个多级目录层次结构 层次结构就像 Root Folder 1 folder1 a folder1 b folder 2 folder 3 folder3 a 我
  • PHP-通过 URL 获取文件类型

    我想使用 PHP 通过 URL 获取文件类型 例如 image gif 我尝试过 上面的代码给了我一个空白页 下面的代码返回 3 我哪里错了 已解决 使用 Fileinfo 获取内容类型
  • SQL Server - Guid VS。长的

    到目前为止 我一直在使用 C Guid Guid NewGuid 方法生成一个唯一的 ID 该 ID 可以使用 Linq to SQL 作为 ID 字段存储在我的一些 SQL Server 数据库表中 我被告知 出于索引原因 使用 GUID
  • 在SQLite UPDATE中模拟ORDER BY来处理唯一性约束

    我在 SQLite 3 中有一个表 sqlite gt schema CREATE TABLE table1 id INTEGER PRIMARY KEY NOT NULL title TEXT UNIQUE NOT NULL priori
  • 解决ReferenceError:Next.js中未定义localStorage [重复]

    这个问题在这里已经有答案了 我构建了一个 React 现在我尝试从 React Router dom 迁移到 Next js 我进行了重大更改并重构了代码 pages routes 和 store js 但后来我收到此错误 Referenc
  • 为什么在数据库设计中使用一对一关系?

    我很难弄清楚何时在数据库设计中使用一对一关系或者是否有必要 如果您只能选择查询中所需的列 是否有必要将表分解为一对一的关系 我想更新一个大表比更新一个小表对性能有更大的影响 我确信这取决于表用于某些操作 读 写 的程度 那么 在设计数据库模
  • Ninject 支持 Func(自动生成工厂)吗?

    Autofac 自动生成工厂Func
  • 什么是单一定义规则?

    C 中的单一定义规则到底说了什么 我能找到的唯一值得信赖的事件是C 编程语言 第三 编辑 第 9 2 3 页 除此之外 该规则还有其他官方定义吗 真相就在标准中 3 2 一个定义规则 任何翻译单元均不得包含更多内容 比任何变量的一个定义 函
  • 带有 dnx 项目的 EF 6

    我有一个新的 ASP net 5 dnx 类库 用于实体框架 我需要以 EF 6 为目标 因为我需要的某些功能在 EF 7 中没有 首先 EF 工具 如启用迁移 不存在 我添加了一个旧式类库并安装了 EF 6 现在命令就在那里 当我运行启用
  • 我无法从 Erlang shell 中输入一行得到结果

    I typed erl启动 erlang shell Eshell V5 7 4 外壳启动 但是 如果我在 shell 中输入一些表达式 例如 20 30 并按 Enter 键 我会回到 1 gt 并且不会显示表达式的结果 什么可能导致这个
  • FFT 高斯模糊

    我正在尝试使用 FFT 来实现高斯模糊 并且可以在这里找到以下方法 这意味着您可以采取 图像的傅里叶变换和 过滤 乘以 复数 结果 然后取逆 傅里叶变换 我有一个内核 K 一个 7x7 矩阵 和一个图像输入 一个 512x512 矩阵 我不
  • 如何在 MATLAB 中将日期转换为数字并再转换回来

    我有日期 2010年1月11日 并使用该功能 日期 年 A1 月 A1 日 A1 使用 Excel 将日期转换为数字 40189 我可以使用 MATLAB 将数字 40189 再次转换回日期吗 Use DATESTR gt gt dates
  • 此 iPhone 6 运行的是 iOS 12.4.1 (16G102),该版本的 Xcode 可能不支持

    收到错误 这款 iPhone 6 运行的是 iOS 12 4 1 16G102 可能不是 此版本的 Xcode 支持 更新 iPhone 后尝试在 iPhone 上运行该应用程序时 我知道我可以更新 Xcode 和系统 问题就会得到解决 但
  • Jasper 报告缺少第一行

    我正在使用生成报告贾斯珀报告并假设将其导出为多种格式 但目前我只使用 Excel 报告 这是我的控制器代码 InputStream in reportTemplate getTemplate reportInquery getTemplat
  • Android 从视频中去除音频

    在我的程序中 它获取 MP4 视频 我希望它输出 MP3 没有任何服务器端内容 由于 Android 和我的应用程序 需要在许多不同的硬件配置上运行 这意味着我可能无法使用 FFMPEG 我知道这可能非常消耗电池和处理能力 尤其是对于手机而
  • PHP XSS 问题/澄清

    之前已经有人问过这个问题 但我需要 100 清楚地了解这个问题 因为正确解决这个问题对我来说非常重要 情况 网站上的消息系统 用户在文本框中输入消息 提交表单并将其输入数据库 然后可以从数据库中调用该数据并在其中显示 span 标签到另一个
  • 如何使用 Zend Framework 2 使用 Rest API

    有人可以提供一个在 Zend Framework 2 中使用第三方 Rest API 例如 someurl 的示例吗 在 ZF1 中使用 Zend Rest 非常简单 我不想在我的应用程序中创建其余 api 只是使用第三方 API Than
  • 带文件附件的 PHP Curl 帖子;自定义内容类型标头

    我必须将文件连同一些发布参数一起发布到服务器 我从该服务器管理员收到的文档显示了发布请求应该是什么样子的示例 请注意 POST multipart x api remote integration 的自定义内容类型 POST gateway
  • 通过Java程序禁用Ctrl-Alt-Delete事件

    I am creating a desktop application using the JDesktopPane I m almost complete but when I press ctrl alt del it leaves m
  • 我尝试使用 ajax 和 symfony 上传文件

    我正在使用 Symfony 2 7 我收到了这个表格