gpt4 book ai didi

php - PhoneGap Ajax上传文件

转载 作者:行者123 更新时间:2023-11-28 08:59:27 24 4
gpt4 key购买 nike

我正在尝试运行 this PhoneGap 将图像从设备上传到服务器的示例。

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

// PhoneGap is ready
//
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 = new Object();
params.value1 = "test";
params.value2 = "param";

options.params = params;

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

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

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

就我而言,与上面提到的示例不同,我没有使用将数据发布到数据库的 php 文件,而是使用安全 URL 直接通过 HTML 发布数据。在桌面版本上看起来像这样:

<form action="https://mySecureUrl.com/?filename=myImage" method="post" enctype="multipart/form-data">
<input type="file" name="myfile"><br>
<input type="submit" value="Upload File to Server">
</form>

现在我尝试使用 PhoneGap FileTransfer() 应用相同的方法,但收到错误代码 3。

var ft = new FileTransfer();
ft.upload(imageURI, encodeURI("https://mySecureUrl.com/?filename=myImage.jpg"), win, fail, options);
  • 是否可以像此方法一样在 PhoneGap 上发布文件?怎么办?
  • 如果没有,php 解决方案是什么?

最佳答案

选项下的fileKey是服务器要查找的名称。在 HTML 中,您将名称设置为“myfile”,在 javascript 中,您将名称设置为“file”。

<input type="file" name="myfile">

options.fileKey="file";

options.fileKey 和属性名称是相同的,因此请确保您的 PHP 正在 $_FILES 数组中查找"file"

关于php - PhoneGap Ajax上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17947310/

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