日期:2014-05-16  浏览次数:20343 次

关于函数参数传递的问题
代码如下,我想要点击“上传图片”按钮之后直接运行uploadPhoto()函数,但是没有用,而当我把uploadPhoto()放在onPhotoURISuccess()函数中,点击“从相册选择”按钮,运行uploadPhoto()函数时有效果,我估计是imageURI这个参数传不到onPhotoURISuccess()之外的uploadPhoto(),所以当uploadPhoto()在onPhotoURISuccess()内部时,uploadPhoto()可以有效,而独立在外直接运行时没效果,那么imageURI该怎么传递呢?imageURI好像是一个API的内部参数,不是我定义的,写onPhotoURISuccess时,直接就放在括号里面用

   function onPhotoURISuccess(imageURI) {

// 取消注释以查看图片文件的URI
// console.log(imageURI);
// 获取图片句柄
var largeImage = document.getElementById('largeImage');
 
// 取消隐藏的图像元素
largeImage.style.display = 'block';

// 显示拍摄的照片
// 使用内嵌CSS规则来缩放图片
largeImage.src = imageURI;
// uploadPhoto(imageURI);
}

      function getPhoto(source) {  
    // 从设定的来源处获取图像文件URI
navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 50,destinationType: destinationType.FILE_URI,sourceType: source });
   }

function uploadPhoto(imageURI) { 
        var options = new FileUploadOptions(); 
        options.fileKey="image"; 
        options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1); 
        options.mimeType="image/jpeg"; 

        var params = new Object(); 
        params.value1 = "jpeg"; 
    //  params.value2 = "param";   
 
        options.params = params;   
 
        var ft = new FileTransfer(); 
        ft.upload(imageURI, "http://192.168.1.200/xinshi/upload_image.php", win, fail, options); 
    }

<div data-role="dialog" id="logout">

<a href="#" data-role="button" onclick="uploadPhoto(imageURI);">上传图片</a>
<a href="#" data-role="button" data-theme="b" onclick="getPhoto(pictureSource.PHOTOLIBRARY);">从相册选择</a>
<div >


JavaScript 函数

------解决方案--------------------
好像是phonegap的上传文件的代码?