繁体   English   中英

无法通过Phonegap和PHP将图像上传到Linux服务器

[英]Can't upload an image to a Linux server via Phonegap and PHP

我正在PhoneGap中制作一个需要将图像上传到Linux服务器的应用程序。 我设置了一个测试CentOS 7 VM ,并在其上安装并配置了LEMP堆栈,然后创建了一个名为upload.phpphp脚本(如下)。 这个脚本是从多个不同的教程中从INTERNET上摘下来的,我只是编辑了将文件保存到所需位置的路径。

然后,我创建了JavaScript代码以将其上传到服务器,但是它无法正常工作,因此我只是从在线教程中获取了代码,只是出于测试目的,以查看其是否正常运行(也在下面)。 我收到警报,表明它正在运行,但没有图像上传,因此我尝试禁用防火墙,但仍然没有运气。

我不确定这是服务器设置,javascript,php还是我的ISP。 任何帮助深表感谢。

我正在使用cordova插件:相机

文件

文件传输


PHP:

<?php $new_image_name = urldecode($_FILES["file"]["name"]).".jpg"; move_uploaded_file($_FILES["file"]["tmp_name"], "/upload/".$new_image_name); ?>

使用Javascript:

 navigator.camera.getPicture(uploadPhoto, function(message) { alert('get picture failed'); }, { quality: 100, 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"; console.log(options.fileName); var params = new Object(); params.value1 = "test"; params.value2 = "param"; options.params = params; options.chunkedMode = false; var ft = new FileTransfer(); ft.upload(imageURI, "http://192.168.1.11/upload.php", function(result){ alert(JSON.stringify(result)); alert('works'); }, function(error){ console.log(JSON.stringify(error)); alert('doesnt'); }, options); } 

有一些问题需要克服。 所有这些都非常简单。

我使用的是绝对路径,但是php将其解释为相对路径,因此我只更改了路径。

该目录也归root拥有,因此我修复了使用chown nginx:nginx uploads

防火墙阻止了我手机的访问,因此我禁用了防火墙,但仍然需要提出更好的解决方案。 我敢肯定这很简单,但是还没有解决。

暂无
暂无

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

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