phonegap实现照片上传

因为业务的需要,需要实现一个照片上传的功能,但因为是html5开发的app,不希望用原生态的方法,恰好phonegap中有上传的文件的接口,于是乎试验了一下,经过一天的奋战,总算还是涉险过关了,说一下思路吧,首先是拍照的功能,拍照这个依托phonegap的api实现起来并不难,拍摄好的照片是一个文件路径,在代码中将这个路径传给上传接口,这个接口是post类型的,这些都是phonegap封装好的,然后是服务器那边的接收,lz是。net流派的,采用的是wcf的接收方式,由于发送的是文件流,获得文件流之后使用File的SavaAs方法,将文件存到文件夹这边完成,可喜可贺呵呵

如果有问题可来我的Phonegap安卓群交流:250395324

 附代码:

var options = new FileUploadOptions();

    options.fileKey = "fileAddPic";//用于设置参数,对应form表单里控件的name属性,这是关键,废了一天时间,完全是因为这里,这里的参数名字,和表单提交的form对应

    var imagefilename = Number(new Date())+".jpg"; 
    options.fileName=imagefilename;
    //options.fileName = imageURI.substr(imageURI.lastIndexOf('/') + 1);

    //如果是图片格式,就用image/jpeg,其他文件格式上官网查API

    options.mimeType = "image/jpeg";

    options.mimeType = "multipart/form-data";//这两个参数修改了,后台就跟普通表单页面post上传一样 enctype="multipart/form-data"

    //这里的uri根据自己的需求设定,是一个接收上传图片的地址

    var uri = encodeURI("http://server.com/aaa.svc/PostWithImageData/");

    //alert(imageURI);

    //alert(uri);

    options.chunkedMode = false;

     var params = new Object();

    params.fileAddPic = imageURI;

    options.params = params; 

    var ft = new FileTransfer();

    ft.upload(imageURI, uri, win, fail, options);


服务器端代码:

HttpPostedFile file = HttpContext.Current.Request.Files["fileAddPic"];
            try
            {
                string targetFilePath = "D:\\aaa\\" + file.FileName;
                file.SaveAs(targetFilePath);
            }
            catch (Exception e)
            {
                log.Error(">>>发生错误,详情如下:");
                log.Error(e);
            }
            return file.FileName;

参考: https://groups.google.com/forum/?fromgroups=#!topic/phonegap/3XhwEyPnw6I

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值