簡體   English   中英

圖片未使用Cordova文件傳輸Android上傳

[英]Image not uploaded using cordova file transfer android

我創建了一個頁面來拍攝圖像或從電話畫廊中選擇圖像,並且可以正常工作,但是我想將這張選擇的照片上傳到Godaddy的服務器上。 我使用Cordova文件傳輸進行上傳,並通過命令行安裝文件傳輸:

 cordova plugin add https://github.com/apache/cordova-plugin-file-transfer.git

並且我輸入了一個小的代碼來上傳這張照片,但是沒有消息提示(沒有錯誤,沒有成功)。

選擇圖像的代碼:

    function onPhotoURISuccess(imageURI) {
            // Uncomment to view the image file URI
            // console.log(imageURI);

            // Get image handle
            //
            var largeImage = document.getElementById('largeImage');

            // Unhide image elements
            //
            largeImage.style.display = 'block';

            // Show the captured photo
            // The in-line CSS rules are used to resize the image
            //
            largeImage.src = imageURI;

            upload();
        }

代碼上傳功能:

 function upload() {
            alert('large');
            var uploadingImage = document.getElementById('largeImage');
            var imgUrl = uploadingImage.src;
            window.resolveLocalFileSystemURI(imgUrl, resolveOnSuccess, fsFail);
            options = new FileUploadOptions();
            // parameter name of file:
            options.fileKey = "my_image";
            // name of the file:
            options.fileName = imgUrl.substr(imgUrl.lastIndexOf('/') + 1);

            // mime type:
            options.mimeType = "image/jpeg";
            params = {val1: "some value", val2: "some other value"};
            options.params = params;
            ft = new FileTransfer();
            ft.upload(fileuri, "http://siencelb.org/raycoding/insurance/avatar", success, fail, options);
        }
 function resolveOnSuccess(entry) {
            fileuri = entry.toURL();
            //use fileuri to upload image on server
        }

        function fsFail(message) {
            alert("Error Message: " + message + "Error Code:" + message.target.error.code);
        }

我首先有兩個按鈕來選擇圖像並將其放入div largeImage中,這可行。 選擇要上傳此圖像的第二個按鈕注意:顯示警報(“大”)。

我解決了我的錯誤,並希望將其發布

function takePicture() {
            navigator.camera.getPicture(function(uri) {
                var img = document.getElementById('camera_image');
                img.style.visibility = "visible";
                img.style.display = "block";
                img.src = uri;
                document.getElementById('camera_status').innerHTML = "Success";
            }, function(e) {
                console.log("Error getting picture: " + e);
                document.getElementById('camera_status').innerHTML = "Error getting picture.";
            }, {quality: 50, destinationType: navigator.camera.DestinationType.FILE_URI});
        }
        ;
        /** * Select picture from library */
        function selectPicture() {
            navigator.camera.getPicture({quality: 50, destinationType: navigator.camera.DestinationType.FILE_URI, sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY});
        }
        ;


function uploadPicture() {      // Get URI of picture to upload
            var img = document.getElementById('camera_image');
            var imageURI = img.src;
            if (!imageURI || (img.style.display == "none")) {
                document.getElementById('camera_status').innerHTML = "Take picture or select picture from library first.";
                return;
            }        // Verify server has been entered
            server = "upload.php";
            if (server) {               // Specify transfer options
                var options = new FileUploadOptions();
                options.fileKey = "file";
                options.fileName = imageURI.substr(imageURI.lastIndexOf('/') + 1);
                options.mimeType = "image/jpeg";
                options.chunkedMode = false; // Transfer picture to server
                var ft = new FileTransfer();
                ft.upload(imageURI, server, function(r) {
                    document.getElementById('camera_status').innerHTML = "Upload successful: " + r.bytesSent + " bytes uploaded.";
                }, function(error) {
                    document.getElementById('camera_status').innerHTML = "Upload failed: Code = " + error.code;
                }, options);
            }
        }

upload.php的PHP代碼

<?php
// Directory where uploaded images are saved
$dirname = "/avatar/"; 
// If uploading file
if ($_FILES) {  
print_r($_FILES);  
mkdir ($dirname, 0777, true);  
move_uploaded_file($_FILES["file"]["tmp_name"],$dirname."/".$_FILES["file"]["name"]);}
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM