将画布图像保存到服务器

2024-07-01

我正在尝试将画布图像保存到服务器。我可以保存文件,但它始终是 0 字节。我的代码有什么问题吗?

<script>
function test(){
var canvas  = document.getElementById("cvs");
var dataURL = canvas.toDataURL();

$.ajax({
  type: "POST",
  url: "upload.php",
  data: { 
     imgBase64: dataURL
  }
}).done(function(o) {
  console.log('saved'); 

});

}
</script>

php:

<?php    
define('UPLOAD_DIR', 'uploads/');
$img = $_POST['img'];
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$data = base64_decode($img);
$file = UPLOAD_DIR . uniqid() . '.png';
$success = file_put_contents($file, $data);
print $success ? $file : 'Unable to save the file.';
?> 

首先你必须确保你已经在画布上作画了after你定义了canvas变量和before你创建了dataURL

其次,您似乎正在寻找img在这个 php 行中:

$img = $_POST['img'];

但在你的javascript中你将它定义为imgBase64 in:

data: { 
   imgBase64: dataURL
}

最后你应该添加console.log(dataURL)之后dataURL被创建是为了确保其中有任何东西。

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

将画布图像保存到服务器 的相关文章

  • 如何防止图像溢出圆角框?

    如果我使用此代码 图像不会被 div 的圆角剪切 导致图像的方角覆盖 div 的圆角 div img src big image jpg div 有谁知道如何获得圆角 div 来防止子图像溢出 我最新的 Chrome Firefox 和 S
  • Phantomjs / Casper.js 带有旋转代理?

    我有一个简单的目标 使用以下任一方式加载网页phantom js 开箱即用 或casper js 很好也更容易 但是使用代理并旋转它如果当前列表不好 即网页加载失败或类似情况 则从列表中选择 我知道 casper js 有 proxypar
  • MacOS Sierra 上未找到 OpenSSL

    我正在尝试安装 PHP MongoDB 驱动程序 但安装失败 因为它找不到 OpenSSL Users username mongo php driver src libmongoc src mongoc mongoc crypto ope
  • NodeJS AMQP 客户端无法连接

    最近两天我快疯了 我无法在 NodeJS 客户端上通过持久交换和持久队列建立连接 PHP 代码创建并发送消息
  • XML 解析器错误:未定义实体

    我在 stackoverflow 上搜索了这个问题 并找到了一些主题 但我觉得在这个问题上没有真正可靠的答案 我有一个用户提交的表单 字段的值存储在 XML 文件中 XML 设置为使用 UTF 8 编码 用户时不时地会从某处复制 粘贴文本
  • Aurelia.io:如何导航到路线

    我有一个包含配置路由的 router js 文件 路线 js export class App configureRouter config router config title Aurelia config map route welc
  • 删除 IE 10 兼容性视图中的蓝色边框

    如何删除或不显示每个带有图像的锚点中的边框链接 顺便说一下 浏览器设置是兼容模式 其他问题的答案不足以解决我的问题 我猜是因为它只适用于较低版本的 IE EDIT 我目前正在客户需要的地方创建自定义共享按钮 div a href img h
  • d3.js 雷达图 - 填充线条之间

    我正在尝试在其中两个三角形之间创建填充 例如在红色和绿色三角形之间创建红色填充 有人知道如何做到这一点吗 我见过另一个雷达图的例子 我相信它做了类似的事情 尽管我认为他们使用CSS而不是d3创建填充 使用径向图用 mbostock 的答案解
  • 使重复的scrollBy像jQuery的动画scrollTop一样平滑

    如何使重复的scrollBy调用更平滑 就像使用jQuery的animatescrollTop制作动画一样 目前它是跳跃的 页面在不同的滚动位置之间跳转 我怎样才能让它更顺畅 这是滚动代码 window scrollBy 0 10 scro
  • Javascript“悬停时”循环

    任何人都可以帮助我解决这个问题 我有一个按钮 当悬停时会触发一个操作 但我希望只要按钮悬停就重复它 我很感激任何解决方案 无论是在 jquery 还是纯 javascript 中 这是我的代码此时的样子 在 jquery 中 var scr
  • 如何在单击时和用户单击离开时关闭菜单?

    我有以下代码 function document ready function clicker class click function show menu users show jQuery clicker class click fun
  • 未知深度的普通 JS 级联选择

    想要制作一个通用的级联下拉菜单 但递归能力较弱 代码应该以 做出选择后 即可选择物品 衣服或小玩意 Levis Gucci 或 LG Apple 之一 当做出选择时 一件选择 搭配 Levis 牛仔裤或夹克或 Gucci 鞋子或连衣裙 当做
  • React JS:可折叠侧边栏

    我正在使用 React JS 创建响应式 UI 我想创建一个可折叠的侧边栏 如下所示 因此 当我单击垂直条 图形信息 时 它应该像第二张图片一样展开 我见过一些例子 比如Jsfiddle示例代码 https jsfiddle net 4q8
  • 如何将网页从一个域重定向到另一个域?

    当第一个域 网页 加载时 如何将域重定向到另一个域 纯 HTML 替代方案如下HTML 中的标签 The 0这里是页面在重定向之前必须保持打开状态的秒数 在这种情况下 一旦您加载页面 它就会立即发生 与建议的 JS 解决方案相反 这在禁用
  • 将 div 放置在 activeX 对象上

    我有一个需要在 ActiveX 对象上弹出的 div 框 但 ActiveX 对象似乎具有无限高的 z 索引 即使当我将该索引设置为低时也是如此 我的 div 框继续显示在 ActiveX 对象下 有任何想法吗 您需要在要覆盖的对象上放置一
  • 从 Firefox 扩展打开当前选项卡/窗口中的 URL

    我正在创建一个 Firefox 扩展 从菜单项打开当前选项卡中的 URL 的 javascript 是什么 例如在我的overlay xul 文件中 我有以下行
  • TypeError:使用 Svelte 和 jest 时 Select 不是构造函数

    当为 Svelte 组件编写 Jest 测试时 我得到了TypeError Select is not a constructor当组件使用 es6 导入语法导入库时出错 测试选择 js
  • XPath 错误:[contains(text()="something")]' 不是有效的 XPath 表达式

    在观看了关于 XPath 的非常基本的教程之后 我第一次使用 selenium 构建一个应用程序 该应用程序包含卡的奖金计算器 我写了这段代码 from selenium webdriver import Chrome from webdr
  • 确定方法是同步还是异步

    在node js中 是否可以 使用函数 确定方法是同步还是异步 我想编写一个执行以下操作的函数 function isSynchonous methodName if the method is synchronous return tru
  • 确定方法是同步还是异步

    在node js中 是否可以 使用函数 确定方法是同步还是异步 我想编写一个执行以下操作的函数 function isSynchonous methodName if the method is synchronous return tru

随机推荐

  • 除非选择单选按钮,否则如何使复选框变灰?

    对于 javascript 来说非常陌生 但是任何帮助我入门的帮助将不胜感激 我有一个简单的表格 div div
  • AngularJS 和摘要式 HTTP 身份验证

    我正在尝试以角度实现摘要身份验证算法 然而 由于缺乏对 Angular 将发送的请求的了解 我无法实现该目标 我的方法是通过以下方式转换请求 httpProvider defaults transformRequest 路线 但是我提供的功
  • C 中的 const 和指针

    将 const 与指针一起使用可能会导致指针对象无法通过使用相关指针取消引用来修改 但为什么我也不能修改指针不直接指向的内容呢 例如 int a 3 const int ptr a ptr 5 不会编译 但为什么 ptr 2 5 还编译不了
  • 将数组插入postgresql

    我想将 id 数组插入到文件中 但在创建我使用的表时int 并且它具有另一个表的引用 现在如何将数组值存储到特定字段 我知道列必须是相同的类型 而且我还看到有些人已经尝试解决数组问题上的外键 我也根据这个文档尝试过 ELEMENT 但没有成
  • 如何转义 Oracle 中的保留字?

    在 TSQL 中我可以使用类似的东西Select table from tablename选择名为 table 的列 如何对 oracle 中的保留字执行此操作 编辑 我尝试过方括号 双引号 单引号和反引号 它们不起作用 作为进一步澄清 我
  • will_paginate 可以按天排序吗

    设想 我有一个包含数百张照片的图片表 我目前正在使用 will paginate 对每页 100 张照片进行分页 我想继续使用 will paginate 但我希望分页由日期驱动 我已经尝试使用以下方法sort by但我认为这不起作用 pi
  • 如何获取给定 IP 地址的以太网端口?

    我正在尝试编写一个 bash 脚本来获取我知道其 IP 地址的接口的以太网端口 我需要从 ifconfig 获取这个 但似乎无法弄清楚如何去做 有任何想法吗 Thanks 将 127 0 0 1 替换为您要获取其接口信息的 IP 地址 if
  • SharePoint 中的内部名称编码

    这是众所周知的知识 x0020 替换 SharePoint 内部字段名称中的空格 使用 SharePoint Web 服务时 这可能有点像一场噩梦 除非您在比较字段名称时编写替换规则 我刚刚在 SSL2 领域发现了另一个 编码异常 奇怪的是
  • Xcode 4.3.2 足以为 iOS 6 构建应用程序吗?

    在今天宣布 iOS 6 Beta 可供开发人员使用之后 我想知道如果我尽快使用 iOS 6 我是否仍然能够在我的设备 iPhone 上从 Xcode 4 3 2 构建正在进行的应用程序 或者 Xcode 也需要更新吗 更新 目前我的 iPh
  • 如何在 Bean Validation 中设置区域设置

    默认情况下 Bean Validation 是根据 Locale getDefault 获取 Locale 的 这对于整个 JVM 是通用的 如何更改当前 EJB 方法调用的 BeanValidation 的区域设置 我正在使用 JavaE
  • 如何在 pywebview 中使无框窗口可拖动?

    我最近一直在使用 pywebview 和 Flask 来开发桌面应用程序 我想使用无框窗口功能并创建自己的标题栏 但问题是我不知道如何使该无框窗口可拖动 文档说它可以通过拖动任何点来移动 但对我来说情况并非如此 有任何想法吗 拖动区域 ht
  • 使用 pip freeze 安装 numpy

    I need to install Numpy version 1 17 1 but every time it just freezes I have now tried multiple times and I have been wa
  • 如何获取 Angular 5 组件元素的位置?

    在 5 角分量中 我有一个table 我需要创建一些类似叠加多个div上面几个td的 获得这些职位的最佳方法是什么td位于表格中 以便我可以放置其他元素 我目前正在尝试使用类似的东西 ViewChild table tableElement
  • 使用应用程序属性的 @Cacheable 条件

    我正在尝试将 Redis 与 Spring 一起使用 Cacheable但需要根据 Spring Boot 样式应用程序属性有条件地打开或关闭缓存 我的第一次尝试似乎不起作用 application properties 文件 auth t
  • 铆钉、Backbone.View 和 Backbone.Collection

    在过去的视图周中 我尝试了多种方法让 Rivets 与 Backbone View 和 Backbone Collection 配合使用 我在互联网上找到的示例涵盖了我所有的尝试 但我仍然没有成功 这是我目前试图实现的挑战 让 Rivets
  • PostgreSQL - 限制总日志大小

    我有一个非常简单的要求 PostgreSQL 日志目录应该有固定的最大大小 例如所有 PostgreSQL 日志最大 10 GB 它可以通过创建固定大小的日志并使用日志轮换来实现 例如轮换 10 个日志文件 每个日志文件 1 GB 我尝试使
  • 在带有传送器的网格上 A* 可接受的启发法?

    假设您有一个二维单元格网格 其中一些单元格被墙填充 角色可以从一个方格迈出一步 到达距离该方格水平或垂直一步的任何方格 但不能越过墙壁 给定起始位置和结束位置 我们可以使用具有可接受启发式的 A 算法找到从起始位置到结束位置的最短路径 在当
  • 输入宽度与文本区域宽度

    读完主题后输入尺寸与宽度 https stackoverflow com questions 1480588 input size vs width 我很清楚我们不应该使用 size 属性而应该使用 css 样式 输入 文本 和文本区域显示
  • Android:如何使用“uses-library”?

    我的Android应用程序可以分为客户端UI层和API层 我想将它们部署为单独的 应用程序 以便可以重用 API 层 在 Eclipse 中 我将它们编写为 2 个独立的 Android 项目 在客户端 UI 项目中 我在其构建路径中声明
  • 将画布图像保存到服务器

    我正在尝试将画布图像保存到服务器 我可以保存文件 但它始终是 0 字节 我的代码有什么问题吗 php