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中绘图闪烁的问题 Andriod 开发用百度地图还是谷歌地图? gallery能否实现拖拉到头儿时的弹性效果 用android自动浏览器,不用运行window.showModalDialog android DigitalClock怎么设置时间? android如何监听音量键触发事件? Android中mmap与malloc返回地址的范围问题 求助移植安卓4.4屏幕旋转反向显示倒屏幕 新手求助:如何搭建android+tomcat+Mssql 大神们别跑呀。。。。求一个双向滑动进度条的效果 手势拖动图片问题
恩恩。这种我到是会的。我就是问问可以直接以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);
}
}