本帖最后由 lifueng 于 2013-03-26 16:33:13 编辑

解决方案 »

  1.   

    你把语音内容 转成base64编码的字符串,然后保存成文件就可以了。
      

  2.   

    把文件转成byte[]数据传输到服务端,服务端接收byte[]数据保存成文件
      

  3.   


    恩恩。这种我到是会的。我就是问问可以直接以amr格式的上传上去保存不。
      

  4.   

    一般来说,base64 位的字符串,大概有多少个字符?几百个?还是几千个?
      

  5.   

    文件转成base64 位的字符串估计有几十万的字符
      

  6.   

    刚试了下,一个127kb的图片转成base64 有17万的字符
      

  7.   


    那么,我使用android的 httpclient传输,怎么在 asp.net服务端保存呢?怎么接收保存?
      

  8.   

     这是服务端的
    byte[] image = FaceImage;//传过来的图片数据
                    MemoryStream m = new MemoryStream(image);//定义并实例化一个内存流,来存放上传的图片二进制流
                    FileStream f = new FileStream(Path, FileMode.Create);
                    m.WriteTo(f);
                    m.Close();
                    f.Close();
                    f = null;
                    m = null;
    android 端传二进制流,asp.net端接收
      

  9.   

    用webserivce保持语音文件 理论上是可行的,只是数据量大 不合适,可以用附件的方式 传输。
      

  10.   

    服务端是这样保持的,android上传,还是我上面的代码HttpRequest request = HttpContext.Current.Request;
                HttpResponse response = HttpContext.Current.Response;            if (request != null)
                {
                    //2_167_20130327164307
                    string filename = request.Form["name"];
                    string sid = request.Form["sid"];
                    string lid = request.Form["lid"];
                    string spetname = request.Form["spetname"];
                    string lpetname = request.Form["lpetname"];
                    string amrtime = request.Form["amrtime"];                HttpPostedFile file = request.Files[0];                string pathpage = ConfigurationManager.AppSettings["uploadrecordepath"];
                    string uppath = Server.MapPath("~/" + pathpage);                string filefolder = uppath + "/" + sid;                if (!Directory.Exists(filefolder))
                    {
                        Directory.CreateDirectory(filefolder);
                    }                try
                    {
                        MyWebService mws = new MyWebService();
                        mws.AddTalkHistoryRecorde(sid, lid, spetname, lpetname, filename, amrtime);                    file.SaveAs(filefolder + "/" + filename + ".amr");
                    }
                    catch (Exception ex)
                    {
                        throw new Exception(ex.Message);
                    }
                }