为了账号安全,请及时绑定邮箱和手机立即绑定

使用 PHP 在服务器上存储 jquery png http 响应

使用 PHP 在服务器上存储 jquery png http 响应

PHP
子衿沉夜 2023-04-02 15:10:08
我正在使用 restpack.io API 来捕获网站的屏幕截图。我的 jquery 调用返回一个 png 文件。控制台中返回文件的输出如下所示:我想做什么:我想使用 php 将此 http 响应存储在我的服务器上。所以我将该字符串发布到我的 php 文件中 - 但我不知道如何处理它来存储它。我试着把这个字符串放入一个新创建的 png 文件中,但它说它是一个被破坏的图像。如何将这些数据存储在服务器上的新文件中?谢谢编辑:我正在创建博客以使用 $_FILES 访问它let blob = new Blob([responseimage], {type: "image/png"});fd.append('file', blob);我的服务器端 php 看起来像这样:$filepath = $_FILES['file']['tmp_name'];$filename = "newfile.png";$move_result = move_uploaded_file($filepath, $filename);echo $move_result;它正在创建一个具有有效文件大小的 png,但我无法遗憾地打开它。
查看完整描述

1 回答

?
慕仙森

TA贡献1827条经验 获得超7个赞

那不是字符串,它是二进制数据,已被编码为字符串,因为您是通过控制台查看它的。要将它发送到服务器,您可以在 AJAX 请求中发送一个 FormData 对象,如下所示:


let data = new FormData();

data.append('file', screenshotDataHere);


$.ajax({

  url: 'yourpage.php',

  type: 'POST',

  contentType: false,

  processData: false,

  data: data,

  success: function() {

    console.log('it worked!');

  }

});

然后在您的 PHP 中,您可以使用它$_FILES['file']来访问文件数据并将其保存在您需要的任何位置。


查看完整回答
反对 回复 2023-04-02
  • 1 回答
  • 0 关注
  • 88 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信