webservice怎么保存语音文件? 本帖最后由 lifueng 于 2013-03-26 16:33:13 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你把语音内容 转成base64编码的字符串,然后保存成文件就可以了。 把文件转成byte[]数据传输到服务端,服务端接收byte[]数据保存成文件 恩恩。这种我到是会的。我就是问问可以直接以amr格式的上传上去保存不。 一般来说,base64 位的字符串,大概有多少个字符?几百个?还是几千个? 文件转成base64 位的字符串估计有几十万的字符 刚试了下,一个127kb的图片转成base64 有17万的字符 那么,我使用android的 httpclient传输,怎么在 asp.net服务端保存呢?怎么接收保存? 这是服务端的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端接收 用webserivce保持语音文件 理论上是可行的,只是数据量大 不合适,可以用附件的方式 传输。 服务端是这样保持的,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); } } 小弟初学android,求大神帮忙 android 授权管理的问题,高手请进 应用程序中添加广告的问题,有经验者指导一下 很诡异的问题Android Animation中AlphaAnimation问题, 望大侠关注下 android 如何使图片变灰 Android 1.6下not enough memory for layer bitmap错误是怎么回事? Android 在程序里启动一个已安装的程序 求Android读取pdf的方法,指点迷津! 关于service绑定不上的问题 Android 连接指定Wifi 的问题 大神们别跑呀。。。。求一个双向滑动进度条的效果 手势拖动图片问题
恩恩。这种我到是会的。我就是问问可以直接以amr格式的上传上去保存不。
那么,我使用android的 httpclient传输,怎么在 asp.net服务端保存呢?怎么接收保存?
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端接收
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);
}
}