使用 fetch api 发送函数参数
Send function parameters with fetch api
我想使用 fetch api 将生成的带有文件名的 blob pdf 保存到服务器。我设法保存了 pdf,但我如何发送变量文件名。
JS代码:
function uploadBlob (blob, fileName) {
fetch(`http://localhost/upload.php`, {
method:"POST",
body:blob
}).then(response => console.log(response.text()))
}
upload.php :
<?php
$data = file_get_contents('php://input');
file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/pdf/generatedpdfwithfilenanme.pdf", $data );
?>
提前致谢
我不确定 php 但 javascript 方面应该是正确的,因为我有它的经验
function uploadBlob (blob, fileName) {
fetch(`http://localhost/upload.php?fileName=${encodeURIComponent(fileName)}`, {
method:"POST",
body:blob
}).then(response => console.log(response.text()))
}
并在 php
<?php
$fileName = $_GET["fileName"];
$data = file_get_contents('php://input');
file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/pdf/" . $fileName /*. ".pdf" */, $data );
?>
编辑
我在代码中有一个错误,访问了错误的 url 密钥,现在已修复
在 Blob
周围使用 File
构造函数为其添加名称。 File
构造函数基本上是具有一些额外属性的扩展 Blob
,例如 name
属性.
function uploadBlob (blob, fileName) {
const file = new File(blob, fileName);
fetch(`http://localhost/upload.php`, {
method: "POST",
body: file
}).then(response => console.log(response.text()))
}
我想使用 fetch api 将生成的带有文件名的 blob pdf 保存到服务器。我设法保存了 pdf,但我如何发送变量文件名。
JS代码:
function uploadBlob (blob, fileName) {
fetch(`http://localhost/upload.php`, {
method:"POST",
body:blob
}).then(response => console.log(response.text()))
}
upload.php :
<?php
$data = file_get_contents('php://input');
file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/pdf/generatedpdfwithfilenanme.pdf", $data );
?>
提前致谢
我不确定 php 但 javascript 方面应该是正确的,因为我有它的经验
function uploadBlob (blob, fileName) {
fetch(`http://localhost/upload.php?fileName=${encodeURIComponent(fileName)}`, {
method:"POST",
body:blob
}).then(response => console.log(response.text()))
}
并在 php
<?php
$fileName = $_GET["fileName"];
$data = file_get_contents('php://input');
file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/pdf/" . $fileName /*. ".pdf" */, $data );
?>
编辑
我在代码中有一个错误,访问了错误的 url 密钥,现在已修复
在 Blob
周围使用 File
构造函数为其添加名称。 File
构造函数基本上是具有一些额外属性的扩展 Blob
,例如 name
属性.
function uploadBlob (blob, fileName) {
const file = new File(blob, fileName);
fetch(`http://localhost/upload.php`, {
method: "POST",
body: file
}).then(response => console.log(response.text()))
}