繁体   English   中英

HTTP PUT请求:通过文件传递参数

[英]HTTP PUT Request: Passing Parameters with File

在通过HTTP POST Request上传文件的各种测试之后,看起来HTTP PUT Request最适合+ 1GB的超大文件上传。

我为HTTP PUT文件上传请求测试的以下列出的简单代码效果很好:

JavaScript的:

var req = createRequest();
req.open("PUT", "PHP/filePutLoad.php");
req.setRequestHeader("Content-type", "text/plain");
req.onload = function (event)
{
    console.log(event.target.responseText);
}
req.send(aUploadedFile.file_object);

PHP:

include 'ChromePhp.php';
require_once 'mysqlConnect.php';

ini_set('max_execution_time', 0);

ChromePHP::log( '$_PUT :' . print_r($_PUT));

/* PUT data comes in on the stdin stream */
$putdata = fopen("php://input", "r");

/* Open a file for writing */
$fp = fopen("myputfile.ext", "w");

/* Read the data 1 KB at a time and write to the file */
while ($data = fread($putdata, 1024))
    fwrite($fp, $data);

/* Close the streams */
fclose($fp);
fclose($putdata);

但是,在将参数和变量从JavaScript上载到PHP时,我很难传递参数和变量。 例如,我需要交付上载目标文件夹,需要存储新数据的位置,上载者的ID等。

  • 有没有一种方法可以结合使用HTTP PUT Request和HTTP POST来提交参数?
  • 如果我希望通过HTTP PUT文件上传将参数从JavaScript传递到PHP,该怎么办?

谢谢。

也使用PUT,当您将参数附加到查询字符串中时,它就可以工作。 我也在寻找另一种方法。 虽然,这是我目前正在使用的解决方法

curl -X PUT“ http://www.my-service.com/myservice?param1=val1 ” --data @ file.txt

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM