如何从ajax数据发送将pdf上传到服务器(使用jsPDF)

2023-11-27

我正在使用 jsPDF 在客户端生成 pdf。使用函数 doc.save('filename.pdf') 我可以下载它。 现在我需要将其保存在服务器上,因此我使用 .ajax() 发送 pdf 数据并使用 PHP 脚本接收它,但生成的 pdfURL 上的图像不显示(http://mydomain/tmp/test.pdf);仅显示文本。

你能帮我一下吗?

我的js代码:

//doc.save('test.pdf');  WORKS WELL
var pdf = doc.output();
$.ajax({
  method: "POST",
  url: "inc/test.php",
  data: {data: pdf},
}).done(function(data){
   console.log(data);
});

PHP 脚本:

<?php
if(!empty($_POST['data'])){

    $data = $_POST['data'];
    print_r($data);

    file_put_contents( "../tmp/test.pdf", $data );
} else {
    echo "No Data Sent"; 
}
exit();
?>

这是 php 脚本编写过程后生成的 pdf:http://control.edge-cdn.com.ar/tmp/test.pdf

这是使用 doc.save() 函数生成的:http://control.edge-cdn.com.ar/repo/all.pdf问候!


SOLUTION:

我试图以二进制形式发送 pdf 数据。我只是对字符串进行 Base64 编码,发送它,然后他们在 php.ini 上对其进行解码。

JS:

    var pdf = btoa(doc.output()); 
    $.ajax({
      method: "POST",
      url: "inc/test.php",
      data: {data: pdf},
    }).done(function(data){
       console.log(data);
    });

PHP:

if(!empty($_POST['data'])){
$data = base64_decode($_POST['data']);
// print_r($data);
file_put_contents( "../tmp/test.pdf", $data );
} else {
echo "No Data Sent";
}
exit();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从ajax数据发送将pdf上传到服务器(使用jsPDF) 的相关文章

  • 如何在ASP.NET Webform中使用Jquery表单插件?

    我遇到了这个插件 http malsup com jquery form getting started http malsup com jquery form getting started 我想知道如何在 ASP NET WebForm
  • Modernizr - 加载 polyfills / 使用自定义检测的正确方法

    我想在网页上使用一些新的 HTML5 表单属性和输入类型 有些浏览器已经支持它们 有些浏览器不支持 也永远不会支持 这就是我想使用 Modernizr 的原因 这就是我的麻烦开始的原因 据我了解 Modernizr 本身并不是一个 poly
  • Facebook 应用程序无法获取会话

    我正在 Heroku 上为 Facebook 开发一个非常基本的 PHP 应用程序 它显示非常基本的用户信息 如姓名 个人资料图片 但该应用程序在 getToken 方法中停止 我在登录我的个人资料后尝试了该应用程序 但仍然出现相同的消息
  • 合并两个(或更多)PDF

    背景 我需要为我的销售人员提供每周报告包 该包包含几个 5 10 个水晶报告 Problem 我想允许用户运行所有报告并且只运行单个报告 我想我可以通过创建报告然后执行以下操作来做到这一点 List
  • 在 Yii 的标准中如何获得计数 (*)

    我正在尝试构建一个具有以下内容的查询group by属性 我正在尝试得到id和count它一直告诉我count is invalid列名 我怎样才能得到count来自group by询问 工作有别名 伊伊 1 1 11 其他不及格 crit
  • 如何更改 Bootstrap 3 div 列顺序

    正在做我的第一个响应式设计 在 Bootstrap 3 中可能会出现类似的情况 在 lg 上更改此设置 a b c sm 上的这个 a c b 您可以使用两个 div 一个用于第一类型的布置 另一个用于第二类型的布置 第一个仅在 lg 中显
  • PHP print_r() 中 _r 的含义是什么?

    我见过这个答案 https stackoverflow com questions 13103410 what does r suffix mean就这样 但我不确定它对于 PHP 是否相同 如果是 可重入的含义是什么 From PHP n
  • W3C 验证器:“握手警报:unrecognized_name”

    我正在尝试验证我的网站W3C Nu Html 检查器 https validator w3 org nu doc https 3A 2F 2Fwww healthdrop in 2F但我遇到了以下错误 不知道为什么 IO 错误 握手警报 u
  • 如何在 phalcon 框架中同时连接多个数据库在模型类中同时使用两个而不仅仅是一个

    在我的代码中我有两个数据库ABC and XYZ 我想在同一模型中使用两个数据库 而不是 phalcon 中的解决方案是什么 如何为此实现多个数据库连接 one
  • 如何通过ssh检查ubuntu服务器上是否存在php和apache

    如何通过ssh检查Ubuntu服务器上apache是 否安装了php和mysql 另外如果安装的话在哪个目录 如果安装了其他软件包 例如 lighttpd 那么它在哪里 确定程序是否已安装的另一种方法是使用which命令 它将显示您正在搜索
  • 在d3.js中将2D形状转换为3D,并根据ANGULAR中的值调整高度

    我正在使用 d3 js v6 创建以下 2D 图表表示的 3D 图表 这个圆圈中有多个正方形 每个正方形都根据值分配了一种颜色 值越大 正方形越暗 现在我想将其转换为 3D 形状 其中当值变高时 只有特定正方形的高度会增加 因此结果在某种程
  • JQuery 验证在 IE8 中不起作用

    我使用 JQuery 验证脚本来验证 HTML 表单 这在 Firefox 中完美运行 但在 IE8 中不起作用 我认为冒号 或分号 有问题 但我无法抓住它 jQuery validator addMethod selectNone fun
  • 我可以停止 :hover 应用于元素吗?

    假设我有一些 CSS button hover font weight bold 我怎样才能防止 hover随意应用样式 我的目标用例是当元素被禁用时 例如 使用这个 HTML
  • 如何从 Laravel 执行存储过程

    我需要在表单提交数据后执行存储过程 我让存储过程按照我想要的方式工作 并且我的表单正常工作 我只是不知道从 laravel 5 执行 sp 的语句 它应该是这样的 执行 my stored procedure 但我似乎在网上找不到类似的东西
  • 当用户单击链接时,如何记录 MixPanel 事件?

    当用户单击某种类型的链接时 我试图在 MixPanel 中记录一个事件 我正在使用 JQuery 不引人注意地完成此操作 据我所知 我需要添加一个回调函数 以便在记录事件后将用户带到 URL 这是我正在使用的代码 不幸的是
  • :jQuery / Sizzle 中的 nth-of-type()?

    让我惊讶的是Sizzle http sizzlejs com jQuery 使用的选择器引擎 带有一个内置的 nth child 选择器 但缺少 nth of type 选择器 为了说明之间的区别 nth child and nth of
  • Stream_context_set_params 不适用于 ssh2.sftp 包装器

    我想使用类似的功能here http www php net manual en function stream notification callback php 请检查以下代码 function notify notification
  • 如何清除 APC 缓存而不使 Apache 崩溃?

    如果 APC 存储大量条目 清除它们会导致 httpd 崩溃 如果 apc clear cache user 花费的时间超过 phps max execution time 调用 apc clear cache 的脚本 将在之前被 php
  • 显示覆盖以覆盖整个页面

    我有一个正在加载的网络应用程序iframe 我需要显示一个覆盖 div 来覆盖整个页面 问题是叠加层当前仅显示在iframe区域而不覆盖整个页面 我们的应用程序 子应用程序 是加载的一组应用程序的一部分iframe 你可以做这样的事情 di
  • 如果产品重量超过1000克,如何以公斤为单位显示

    在 Storefront 主题中 我使用下面的代码将格式化重量从 1000g 更改为 1kg add action woocommerce after shop loop item title show weight 10 function

随机推荐

  • 访问 jenkins 共享库代码中的环境变量

    当我使用新的共享库时 我无法访问任何直接由 Jenkinsfile 或通过 var groovy 脚本执行的 src 类的环境变量 即使我添加了这个问题仍然存在withEnv到 var groovy 脚本 让环境变量传播到 jenkins
  • 在 10 分钟内触发活动的简单 AlarmManager 示例

    我发现了很多与此类似的问题 但至少我认为它们太复杂 代码太多 这件事能用几行代码完成吗 我想在 10 比方说 分钟内启动一项活动 仅此而已 谢谢 将闹钟设置为 10 分钟 比方说 使用此代码 AlarmManager alarmMgr Al
  • 如何改变 dplyr 中的 for 循环

    我想为数据框中的列创建多个值范围的滞后变量 我的代码可以成功执行我想要的操作 但无法根据我的需要进行扩展 数百次迭代 我的下面的代码成功地完成了我想要的操作 但无法根据我的需要进行扩展 数百次迭代 Lake Lag lt Lake Cham
  • SparkSQL注册表时MissingRequirementError

    我是 Scala 和 Apache Spark 的新手 我正在尝试使用 Spark SQL 克隆后repo我通过输入启动了 Spark shellbin spark shell并运行以下命令 val sqlContext new org a
  • C free() 例程和递增数组指针

    会不会free 如果我动态分配一个数组 然后传递一个指向数组中间的指针 而不是初始指针 那么常规工作会怎样 例子 int array malloc 10 sizeof array if array array 5 adjusting the
  • 使用 Spring Boot 应用程序启用 HTTP 严格传输安全 (HSTS)

    我已经关注了这篇文章https docs spring io spring security site docs 4 0 2 RELEASE reference html headers html headers hsts在我的 Sprin
  • JavaScript location.reload() 正在丢失发布数据

    我正在尝试使用java脚本重新加载页面 页面重新加载 但页面中的帖子数据未加载 帖子数据被删除 而页面重新加载任何人都可以帮助我 function currencychange xxx setTimeout delay 2000 funct
  • 在 Paul Graham 的 ANSI Common Lisp 中编写示例

    谁能解释一下 Paul Graham 的 ANSI Common Lisp 第 110 页中的示例吗 该示例尝试解释使用 rest 和 lambda 来创建函数式编程工具 其中之一是组成函数参数的函数 我找不到任何解释它是如何工作的 代码如
  • 确定操作栏是否拆分

    我有一个MapView带有由 ActionBarSherlock 提供支持的操作栏 操作栏既可以分割 在 窄 屏幕上 也可以覆盖 半透明 android windowActionBarOverlay 为 true 或多或少类似于谷歌地图应用
  • 执行 gem 时...(ArgumentError)未知编码名称 - CP720 [重复]

    这个问题在这里已经有答案了 我现在遇到了这个奇怪的错误 while executing gem ArgumentError unknown encoding name CP720 当我想运行任何 gem 命令时 例如 gem install
  • Location.getTime() 始终返回不带毫秒的时间戳

    我正在跟踪 GPS 位置LocationManager requestLocationUpdates using LocationManager GPS PROVIDER并注册一个LocationListener 我的问题 所有测试的设备
  • Qt 找出 QSpinBox 是否被用户更改

    假设我有一个QSpinBox 我如何查明该值是否是由用户或其他函数手动更改的 编辑 我只想在用户更改值时执行一些操作 但如果您的程序执行此操作 setValue 我不想执行此操作 可能的解决方案 ui gt spinBox gt block
  • AngularJS ui-router:测试 ui-sref

    我正在尝试测试一些正在使用的视图 a link a 链接到我的应用程序中的其他州 在我的测试中 我触发了对此元素的点击 如下所示 element find a click 如果状态切换到 我该如何测试someState 使用时会很容易 st
  • 如何轻松地从 lambda 函数创建比较器?

    我想知道 Net 框架中是否提供了一个实现 IComparer 的类 并且可以从 lambda 函数构造该类 能够做到这一点将会很有用 void SortByLength List
  • 使用 NavigationController 在当前 tabBarController 上呈现视图控制器

    当呈现或关闭 VC 时 我不想继续隐藏和显示 tabBar 因为它会造成糟糕的用户体验 相反 我想直接在选项卡栏上呈现下一个 VC 这样当我通过从左向右缓慢拖动来关闭下一个 VC 时 我可以看到隐藏在视图后面的选项卡栏 如下图所示 请注意
  • 实现循环 UITableView

    实现循环 UITableView 的最佳方法是什么 当用户向上滚动到表格边界时 它不是显示空白 而是简单地循环环绕 这里的示例可能是选择星期几 一天 24 小时中的某个小时 或者全球范围内按顺序排序的时区 有一些如何解决这个问题的想法 可以
  • Spring Security 3-如何自定义用户名/密码参数?

    使用时如何自定义 UsernamePasswordAuthenticationFilter usernameParameter j username 和 passwordParameter j password 属性
  • java中的动态代理soap web服务客户端?

    有没有办法使用soap rpc Web服务 以便通过共享接口生成客户端 Restful Web 服务就是这样做的 但是基于肥皂的呢 您是否总是必须使用 Axis 或 CXF 等工具来生成存根和代理 或者是否有可以动态设置它的工具 Thank
  • 像关系数据库一样使用 Lucene

    我只是想知道我们是否可以在 lucene 中实现一些 RDBMS 功能 例子 1 我有 10 000 个项目文档 pdf 文件 必须对其内容进行索引 以便可供搜索 2 每个文档都与一个项目相关 项目可以包含项目名称 编号 开始日期 结束日期
  • 如何从ajax数据发送将pdf上传到服务器(使用jsPDF)

    我正在使用 jsPDF 在客户端生成 pdf 使用函数 doc save filename pdf 我可以下载它 现在我需要将其保存在服务器上 因此我使用 ajax 发送 pdf 数据并使用 PHP 脚本接收它 但生成的 pdfURL 上的