gpt4 book ai didi

javascript - XHR.send(文件+参数)?

转载 作者:太空狗 更新时间:2023-10-29 13:59:13 25 4
gpt4 key购买 nike

我正在尝试找出如何在同一个 XMLHttpRequest 中发送文件和参数。这可能吗?

显然我可以执行 xhr.send(file+params) 或 xhr.(file,params)。而且我认为我不能设置两个不同的请求 header 来执行此操作...

xhr.setRequestHead('X_FILENAME', file.name)
xhr.send(file);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.send(params);

有没有什么方法可以在不使用 GET 或辅助 xhr 请求的情况下发送参数?

最佳答案

如果你依赖于支持FormData的浏览器,你可以使用下面的代码(JavaScript):

var formData = new FormData();
formData.append('param1', 'myParam');
formData.append('param2', 12345);
formData.append('uploadDir', 'public-data');
formData.append('myfile', file);

xhr.send(formData);

然后,在您的服务器端,您可以使用以下代码 (PHP) 访问您的变量:

<?
$param1 = $_POST['param1']; //myParam
$param2 = $_POST['param2']; //12345
$uploaddir = $_POST['uploadDir']; //public-data
$fileName = $_FILES['myfile']['name'];
$fileZise = $_FILES['myfile']['size'];
$uploaddir = getcwd().DIRECTORY_SEPARATOR.$uploaddir.DIRECTORY_SEPARATOR;
$uploadfile = $uploaddir.basename($fileName);
move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile);
echo $fileName.' ['.$fileZise.'] was uploaded successfully!';
?>

要获取 $_FILES['myfile'] 的所有参数,请使用 var_dump($_FILES["myfile"])

关于javascript - XHR.send(文件+参数)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15218292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com