首页 > 解决方案 > 即使设置了 httpMethod,cordova-plugin-file-transfer 上传也显示为 GET 请求

问题描述

我正在尝试在我的应用程序中上传相机拍摄的图像。我正在为我的应用程序使用cordova-plugin-file-transfer,并且我正在尝试将图像数据发送到我的服务器进行存储(PHP)。

我已经设置了这些选项:

const options: FileUploadOptions = {
    fileKey: 'file',
    fileName: imageData.substr(imageData.lastIndexOf('/') + 1),
    headers: {},
    httpMethod: 'POST',
    chunkedMode: false,
    params: { action : 'INSERT', lineid : this.lineId },
};

this.fileTransfer.upload(imageData, encodeURI(url.replace('https', 'http') + 'pages/attachments.php'), options).then(data => {
    console.log(data);
}, error => {
    console.log(error);
});

但是,我的服务器似乎将此请求作为 GET 方法而不是 POST 接收,因此它没有在我的服务器端通过正确的上传过程。

我错过了什么吗?

标签: cordovaionic-frameworkuploadfile-transfer

解决方案


看起来插件强制上传功能使用'PUT''POST'

https://github.com/apache/cordova-plugin-file-transfer/blob/dc8fbd78a234bd88450ebe01835c60371bc2cf8e/www/FileTransfer.js#L127-L131

这看起来像您的服务器端代码有问题。检查您正在点击的端点并从那里进行调试。


推荐阅读