jquery - 将 base64 图像传递到 PHP 页面适用于本地主机但不适用于服务器

标签 jquery html canvas base64 localhost

这是我的第一篇文章,所以请原谅我在某些领域缺乏知识。

我正在尝试将 base64 图像发送到 php 页面。它在我的测试本地主机上工作正常,但一旦我上传它就不能在服务器上工作。

我有一个允许用户绘制然后保存图像的 Canvas 元素。将图像保存到 div id="result"后,我使用 jquery 将 div 粘贴到隐藏输入字段的值内,然后将表单提交到我的 canvas.php 页面。代码在这里:

<script type="text/javascript">
$(document).ready(function() {<br/> $('#canvasform').submit(function(){<br/> $('#pass_result').val(<br/> $('#result').html()<br/> );<br/> });<br/> });<br/> <script>

<body>
<canvas id="thecanvas" width="800" height="400"></canvas>
<form action="canvas.php" method="post" id="canvasform"/>
<input type="hidden" name="pass_result" id="pass_result" /><br />
<input type="button" id="save" value="Save Image"><br>
<input type="submit" /> </form>
<div id="result"></div>
</body>

当我在我的本地主机上查看页面时,这工作正常。但是一旦我上传文件并查看页面,它就不会在 canvas.php 上正确显示图像。在本地主机上,我可以右键单击图像并在新选项卡中查看。

网址为:data:image/png;base64,iVBORw0KGg... 在服务器上时,我右键单击并在新选项卡中查看。网址为:http://mydomain.com/%22data:image/png;base64,iVBORw0KGg ...并给我一个 414 Request-URI Too Large 错误。

关于为什么这不能正确显示图像有什么想法吗?

Canvas .php:
<?php<br/> $thediv = $_POST['pass_result'];<br/> echo "Hello $thediv";<br/> ?>

最佳答案

url 长度有 8190(最大)个字符的限制。如果您的 url + base64data 的长度超过该长度或您的服务器限制设置的任何值,那么您将获得 414 状态。

关于jquery - 将 base64 图像传递到 PHP 页面适用于本地主机但不适用于服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6285059/

相关文章:

javascript - 版本升级时 jQuery Switch() 故障

javascript - 页面加载状态

php - IRC 用户名作为论坛用户名

javascript - 将图像映射转换为 Canvas

javascript - OPTIONS 405(方法不允许)

javascript - 使用InputMask html(jqueryl或js)强制html输入中的小数?

javascript - 如何处理未定义主体的响应?

python - 如何从 HTML 文件中的某一行开始抓取数据

android - 如何制作相对于 Canvas 的坐标

javascript - 每次我拖动 Canvas 清除