第一次项目实训的时候是做的一个基于Silverlight的泡泡点歌系统,我负责做的是管理员部分(做的有点类似于一个客户端,用WPF写的),其间用到的有歌曲的上传和下载功能。

在网上找了很多关于歌曲上传和下载的源码,但是它们主要讲的是文件的上传和下载,而案例部分则是图片或是其他文件,讲到具体的歌曲文件的上传却很少。而且歌曲文件的上传和下载和其他的上传下载,还是有一定的不同的。自己研究了一天,具体的也大致的有了一定的了解。

现在贴上我写的代码,希望能帮到大家。

(是作为一个Btton的相应事件上传的,所以是这样子的,中间有一些服务的类,用于在数据库中添加纪录等等的)

上传:

        private void UpLoadSongBtn_Click(object sender, RoutedEventArgs e){//选择上传文件上传到目的目录。。。。。//现在在数据库上的添加也是没有的。。。musicFileInfo = new FileInfo(FilePathTxt.Text);UploadFileInfo uploadFileInfo = new UploadFileInfo();uploadFileInfo.Name = musicFileInfo.Name;Stream stream = musicFileInfo.OpenRead();uploadFileInfo.Size = (int)(stream.Length / 1024);uploadFileInfo.Data = new List<byte[]>();int len;long rest;while (stream.Position > -1 && stream.Position < stream.Length){rest = stream.Length - stream.Position;len = (rest > 16384) ? 16384 : (int)rest;byte[] fileData = new byte[len];stream.Read(fileData, 0, len);uploadFileInfo.Data.Add(fileData);}stream.Close();ProgressBar1.Maximum = uploadFileInfo.Data.Count;ProgressBar1.Value = 0;UploadFileService.UploadFileServiceClient client = new UploadFileService.UploadFileServiceClient();bool isAppend = false;for (int i = 0; i < uploadFileInfo.Data.Count; i++){client.DoUploadFile(musicFileInfo.Name, uploadFileInfo.Data[i], isAppend);ProgressBar1.Value++;isAppend = true;}}

下载:

        private void downloadService_DownloadFileCompleted(object sender, DownLoadServiceReference.DownloadFileCompletedEventArgs e){if (e.Error == null){SaveFileDialog saveDialog = (SaveFileDialog)e.UserState;//获取标识的SaveFileDialogusing (Stream stream = saveDialog.OpenFile()){stream.Write(e.Result, 0, e.Result.Length);}MessageBox.Show("下载成功!");}else{MessageBox.Show("下载失败!");}}

转载于:https://www.cnblogs.com/NewWork/archive/2013/03/27/3260580.html

上传和下载歌曲文件(C#)相关推荐

  1. 通过Web Services上传和下载图片文件

    通过Web Services上传和下载图片文件 随着Internet技术的发展和跨平台需求的日益增加,Web Services的应用越来越广,我们不但需要通过Web Services传递字符串信息,而 ...

  2. xshell上传本地文件命令_XShell上传、下载本地文件到linux服务器

    Xshell很好用,然后有时候想在windows和linux上传或下载某个文件,其实有个很简单的方法就是rz,sz. 首先你的Linux上需要安装安装lrzsz工具包,(如果没有安装请执行以下命令,安 ...

  3. 利用mysql实现上传和下载_文件上传表单 上传文件的细节 文件上传下载和数据库结合...

    1 文件上传表单 1)上传文件的本质是文本复制的过程 2)技术层面,在Java中一定会用到IO操作,主要以二进制方式读写 3)传统方式下,对于上传文件字段不同的浏览器有着不同的解析方式,例如: IE6 ...

  4. xshell上传本地文件命令_linux学习 XShell上传、下载本地文件到linux服务器

    (一)通过命令行的方式 1.linux服务器端设置 在linux主机上,安装上传下载工具包rz及sz; 如果不知道你要安装包的具体名称,可以使用yum provides */name 进行查找系统自带 ...

  5. .NET Core 文件上传、下载、文件流转换

    通过Webapi下载文件: //前端请求预览或下载文件(微信小程序也一样)[HttpGet]public async Task<IActionResult> DownloadYFPrevi ...

  6. java中文件的上传和下载:文件上传和下载原理

    在TCP/IP中,我们知道最早的上传机制为FTP,它是指将文件由客户端发送到服务器的标准机制.然而我们在jsp编程中不能使用FTP来上传文件,这是由于jsp运行机制决定的.               ...

  7. 本地文件上传、下载服务器文件事物码

    1.上传Tcode:CG3Z 2.下载Tcode:CG3Y

  8. java poi 上传与下载word文件

    java编程要实现对word的操作没有vb那种编程语言来得容易,得借助一些开源组件,其中就包括jacob.poi等, 而poi应用得最为广泛,对word2003和2007的读和写word操作都十分方便 ...

  9. java word上传下载_java poi 上传与下载word文件

    java编程要实现对word的操作没有vb那种编程语言来得容易,得借助一些开源组件,其中就包括jacob.poi等, 而poi应用得最为广泛,对word2003和2007的读和写word操作都十分方便 ...

最新文章

  1. R语言复相关或者多重相关性系数计算实战:Multiple Correlation Coefficient
  2. Phalcon入门教程之安装
  3. OpenCv中实现了三种立体匹配算法:
  4. 芜湖方特系统设计书php,芜湖方特梦幻王国
  5. activex for chrome扩展程序 下载”_提升前端开发效率:你应该知道的10个Chrome扩展程序...
  6. SQLite中的SQL
  7. jQuery就业课系列之.jQueryDOM
  8. Linux系统编程---5(共享存储映射,存储映射I/O,mmap函数,父子进程间通信,匿名映射)
  9. iOS 开发疑难杂症(01)
  10. 使用 StatsD + InfluxDB + Grafana 搭建 Node.js 监控系统 (二)
  11. 中国临床数据分析市场趋势报告、技术动态创新及市场预测
  12. 无线传感器网络技术原理及应用 知识点
  13. asp导出excel文件格式
  14. 肌电信号 聚类 Matlab
  15. js验证开始时间和结束时间 结束时间不能比开始时间早
  16. 聊聊Java中的System类
  17. eCommerce电子商务业务领域常见的一些术语
  18. Hololens开发学习笔记——TrackedHandJoint关节点详解
  19. 【开发环境】(基于Hexo)个人博客主题(Hexo Fluid)更换
  20. 批量探测主机是否存活

热门文章

  1. Spring WebFlux介绍
  2. 【机器学习】Tensorflow.js:在浏览器中使用机器学习实现图像分类
  3. 前端开发面试题—JavaScript原型链
  4. 基于 IOT 技术温室控制系统
  5. 课程设计题目:基于python实现人脸识别打卡
  6. Mac OS下超级好用的几款软件,强烈安利
  7. TensorRt(2)快速入门介绍
  8. 暑期LeetCode打卡
  9. 产电协议转换网关WTGNet-LS
  10. ts无损剪辑合并_最简单实用的MP3剪切合并大师