使用 PHP 在服务器上存储 jquery png http 响应
Store jquery png http response on the server using PHP
我正在使用 restpack.io API 来捕获网站的屏幕截图。
我的 jquery 调用 returns 一个 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,但遗憾的是我无法打开它。
这不是字符串,它是二进制数据,已被编码为字符串,因为您是通过控制台查看它的。要将其发送到服务器,您可以在 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']
访问文件数据并将其保存在您需要的任何位置。
我正在使用 restpack.io API 来捕获网站的屏幕截图。 我的 jquery 调用 returns 一个 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,但遗憾的是我无法打开它。
这不是字符串,它是二进制数据,已被编码为字符串,因为您是通过控制台查看它的。要将其发送到服务器,您可以在 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']
访问文件数据并将其保存在您需要的任何位置。