簡體   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