gpt4 book ai didi

php - 如何从 PhoneGaps 文件传输 API 检索 POST 数据

转载 作者:行者123 更新时间:2023-12-03 00:24:38 25 4
gpt4 key购买 nike

我正在使用 Phone Gaps (Cordova 2.1) 文件传输 API 将用户照片库中的图像发布到我的服务器。文件传输 API 似乎工作正常。我只是对在我的服务器上检索此信息感到困惑。

理想情况下,我需要做的是检索图像然后将其上传到我的服务器。但是,我似乎无法从文件传输中检索任何信息?

我的 JavaScript 代码(发布图像数据)是:

function onDeviceReady() {

// Retrieve image file location from specified source
navigator.camera.getPicture(uploadPhoto,
function(message) { alert('get picture failed'); },
{ quality: 50,
destinationType: navigator.camera.DestinationType.FILE_URI,
sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY }
);

}

function uploadPhoto(imageURI) {
var options = new FileUploadOptions();
options.fileKey="file";
options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
options.mimeType="image/jpeg";

var params = {};
params.value1 = "test";
params.value2 = "param";

options.params = params;

var ft = new FileTransfer();
ft.upload(imageURI, encodeURI("http://some.server.com/upload.php"), win, fail, options);
}

function win(r) {
console.log("Code = " + r.responseCode);
console.log("Response = " + r.response);
console.log("Sent = " + r.bytesSent);
}

function fail(error) {
alert("An error has occurred: Code = " + error.code);
console.log("upload error source " + error.source);
console.log("upload error target " + error.target);
}

我的服务器端代码是:

 $paramValue = $_POST['fileKey']; //Undefined variable
$paramValue2 = $_POST['options']; //Undefined variable
$paramValue3 = $paramValue2['fileKey'] //Undefined variable

我也尝试过:

//POST variable
$paramValue = $_POST['params'];
echo "Param Value1: " . $paramValue['value1']; //Should return "test"

我也尝试过:

//POST variable
$paramValue = $_POST['options'];
echo "Param Value1: " . $paramValue['options']['params']['value1']; //Should return "test"

我得到的只是 undefined variable 错误?

任何帮助将不胜感激,谢谢!

最佳答案

关于http://some.server.com你可以有你的 /var/www/ 目录,在这个目录中你需要 upload.php 并且这个目录中的代码应该将你的图像移动到文件夹

/var/www/TEST/

<?php
print_r($_FILES);
$new_image_name = "YEAH.jpg";
move_uploaded_file($_FILES["file"]["tmp_name"], "/var/www/TEST/".$new_image_name);
?>

这是您唯一需要的额外东西。

先决条件:

您的 http://some.server.com 上的 XAMPP LAMP WAMP 或 MAMP

为了清楚起见,这是 JavaScript 和 HTML,只是为了向您展示我的 upload.php 文件如何适应:在你的脑海里

<script type="text/javascript" charset="utf-8">

// Wait for PhoneGap to load
document.addEventListener("deviceready", onDeviceReady, false);

// PhoneGap is ready
function onDeviceReady() {
console.log("device ready");
// Do cool things here...
}

function getImage() {
// Retrieve image file location from specified source
navigator.camera.getPicture(uploadPhoto, function(message) {
alert('get picture failed');
},{
quality: 50,
destinationType: navigator.camera.DestinationType.FILE_URI,
sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY
}
);

}

function uploadPhoto(imageURI) {
var options = new FileUploadOptions();
options.fileKey="file";
options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
options.mimeType="image/jpeg";

var params = new Object();
params.value1 = "test";
params.value2 = "param";

options.params = params;
options.chunkedMode = false;

var ft = new FileTransfer();
ft.upload(imageURI, "http://some.server.com/TEST/upload.php", win, fail, options);
}

function win(r) {
console.log("Code = " + r.responseCode.toString()+"\n");
console.log("Response = " + r.response.toString()+"\n");
console.log("Sent = " + r.bytesSent.toString()+"\n");
alert("Code Slayer!!!");
}

function fail(error) {
alert("An error has occurred: Code = " + error.code);
}

</script>

</head>

这就是我体内的东西

<button onclick="getImage();">Upload a Photo</button>

关于php - 如何从 PhoneGaps 文件传输 API 检索 POST 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13860405/

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