微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Phonegap FileUpload Java服务器

我正在尝试在Java Server上上传图像.文件正在从android设备传输,但在服务器上保存了null.

这是服务器代码

public UploadMediaServerResponse uploadFileForFunBoard(@FormDataParam("photoPath") InputStream photoInputStream,
            @FormDataParam("photoPath") FormDataContentdisposition photoFileDetail,
            @FormDataParam("userId") int userId, @FormDataParam("mediaType") String mediaType,
            @FormDataParam("title") String title,@FormDataParam("funBoardId") int funBoardId)
    {

        MediaContenModel mediaContenModel = new MediaContenModel();
        mediaContenModel.setFunBoardId(funBoardId);
        mediaContenModel.setMediaType(mediaType);
        mediaContenModel.setUserId(userId);

        UploadMediaServerResponse uploadMediaServerResponse = new UploadMediaServerResponse();
        boolean isMediaProcessedAndUploaded = true;
        String mediaProcessingError = "";

        if (photoInputStream != null && photoFileDetail != null)
        {
            uploadMediaServerResponse = mediaService.uploadOnServer(photoInputStream,
                    photoFileDetail.getFileName(), userId+"");
            if (uploadMediaServerResponse != null
                    && !uploadMediaServerResponse.getMediaUrl().equalsIgnoreCase("ERROR"))
            {
                mediaContenModel.setimageUrl(uploadMediaServerResponse.getMediaUrl());
                logger.debug("ContentService --> createStroyline --> fearture Image url ::"
                        + uploadMediaServerResponse.getMediaUrl());
            }
            else
            {
                isMediaProcessedAndUploaded = false;
                mediaProcessingError = uploadMediaServerResponse.getMediaUrl();
                logger.debug("ContentService --> createStroyline -->  mediaProcessingError ::"
                        + mediaProcessingError);
            }
        }

        if (isMediaProcessedAndUploaded)
        {
            UploadMediaServerResponse response = funBoardService.uploadMediaContent(mediaContenModel);
            uploadMediaServerResponse.setMediaUrl(response.getMediaUrl());
        }
        else
        {
            uploadMediaServerResponse.setError("Task Failed");
            uploadMediaServerResponse.setStatus(ServiceAPIStatus.Failed.getStatus());
        }
        return uploadMediaServerResponse;
    }

这是我的电话间隙代码

var pictureSource;   
var destinationType; 


function onPhotoURISuccess(imageURI) 
{
    console.log(imageURI);
    var largeImage = document.getElementById('largeImage');
    largeImage.style.display = 'block';
    largeImage.src = imageURI;










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



                options.params = {
                            "userId": 1,
                            "funBoardId": 3,
                            "mediaType": 'image'
                        };            


            console.log(JSON.stringify(options));

            var ft = new FileTransfer();
            ft.upload(imageURI, _BaseURL+"mobile/userService/funboard/upload", win, fail, options);



}

function onPhotoDataSuccess(imageURI) 
{ 
    var imgProfile = document.getElementById('imgProfile');
    imgProfile.src = imageURI;
    if(sessionStorage.isprofileimage==1)
    {
        getLocation();
    }
    movePic(imageURI);
}

function onFail(message) 
{
    alert('Failed because: ' + message);
}

function movePic(file)
{ 
    window.resolveLocalFileSystemURI(file, resolveOnSuccess, resOnError); 
} 

function resolveOnSuccess(entry)
{ 
    var d = new Date();
    var n = d.getTime();
    var newFileName = n + ".jpg";
    var myFolderApp = "MyAppFolder";
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSys) 
    {      
        fileSys.root.getDirectory( myFolderApp,
                {create:true, exclusive: false},
                function(directory) 
                {
                    entry.moveto(directory, newFileName,  successMove, resOnError);
                },
        resOnError);
    },
    resOnError);
}

function successMove(entry) 
{
    alert(entry.fullPath);
    sessionStorage.setItem('imagepath', entry.fullPath);
}

function resOnError(error) 
{
    alert(error.code);
}

function capturePhotoEdit() 
{
    navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 20, allowEdit: true,
    destinationType: destinationType.DATA_URL });
}

function getPhoto(source) 
{
    navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 50, 
    destinationType: destinationType.FILE_URI,
    sourceType: source });
}

function onFail(message) 
{
    alert('Failed because: ' + message);
 }



function win(r) {
            console.log("Code = " + r.responseCode);
            console.log("Response = " + r.response);
            console.log("Sent = " + r.bytesSent);
            alert(r.response);
        }

        function fail(error) {
            alert("An error has occurred: Code = " = error.code);
        }

04-14 19:33:46.0​​10:E / FileTransfer(13550):java.io.FileNotFoundException:http:/// jeeyoh / mobile / userService / funboard / upload

提前致谢

解决方法:

更换

     options.fileKey="file";

     options.fileKey="photoPath";

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐