【问题标题】:cordova-plugin-file-transfer not uploading file to server科尔多瓦插件文件传输未将文件上传到服务器
【发布时间】:2016-02-16 11:57:16
【问题描述】:

我正在开发将照片上传到服务器的 cordova 项目。在为 android 测试时,调用了成功回调,但文件未上传到服务器。 服务器中的目标文件夹具有必要的权限。

以下是 Javascript 部分

var options = new FileUploadOptions();
options.fileKey  = "myphoto";
options.fileName = filetoupload.substr(filetoupload.lastIndexOf('/')+1);
options.mimeType = "image/jpeg";
options.chunkedMode = false;
options.headers = {
    Connection: "close"
};
var ft = new FileTransfer();
ft.upload(filetoupload, encodeURI(websrvs_base_url), win, fail, options);

在服务器 PHP 代码是

<?php
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET, POST, PUT, OPTIONS");
header("content-type: application/json; charset=utf-8");

if($_FILES['myphoto']['size'] > 0) {
    $path = $ROOT_PATH . "mypics/";
    $tmpname1 = $_FILES['myphoto']['tmp_name'];
    $ptname1 = $_FILES['myphoto']['name'];
    move_uploaded_file($tmpname1, $path . $ptname11);

    echo 'success';
}

在检查 $_FILES['myphoto']['error'] 时返回 7

服务器有以下关于文件上传的设置

file_uploads - On

memory_limit - 128M

post_max_size - 64M

upload_max_filesize - 100M

我应该在 PHP 脚本中添加任何额外的标头以从应用程序接收文件吗?

【问题讨论】:

  • 首先,确保 PHP 配置为允许文件上传。在“php.ini”文件中,搜索 file_uploads 指令,并将其设置为 On
  • @Naitik PHP 是的,它有必要的设置,请参阅我的编辑
  • 示例与我在帖子中的示例相似

标签: php android cordova cordova-plugins


【解决方案1】:

原来是服务器问题,我们的演示服务器磁盘已满,不允许从应用上传照片。

我们必须检查服务器中 /tmp 文件夹的可用空间,因为在将文件上传到实际目的地之前,这将用作临时存储空间。如果 /tmp 文件夹已满或有任何限制,文件将不会上传。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-25
    • 1970-01-01
    • 1970-01-01
    • 2022-07-08
    • 2019-04-04
    • 1970-01-01
    • 2015-09-10
    • 1970-01-01
    相关资源
    最近更新 更多