c# 通过解析mp3规范命名并上传服务器

引用
using
Shell32;

 

        private void Open_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog(); 
            ofd.Filter = "MP3 Files(.mp3)|*.mp3|WMA Files(*.wma)|*.WMA";
            //ofd.Multiselect = true;         //允许多选  
            ofd.RestoreDirectory = true;    //记住上一次的文件路径  
            ofd.ShowDialog();
            FilePath = ofd.FileName;
            if (FilePath != "")
            {
                string OpenFileType = Path.GetExtension(FilePath);
                FileInfo FileLenght = new FileInfo(FilePath);
                if (FileLenght.Length > 10240000)
                {
                    FuncClass.ShowError("Too Large!");
                }
                else
                {
                    ShellClass sh = new ShellClass();
                    Folder dir = sh.NameSpace(Path.GetDirectoryName(FilePath));
                    FolderItem item = dir.ParseName(Path.GetFileName(FilePath));
                    string NewPath = Path.GetDirectoryName(FilePath) + "\\" + dir.GetDetailsOf(item, 20) + " - " +
                                     dir.GetDetailsOf(item, 21) + OpenFileType;
                    if (!File.Exists(NewPath))
                    {
                        File.Move(FilePath, NewPath);//重命名其实就是move
                    }
                    dir = sh.NameSpace(Path.GetDirectoryName(NewPath));
                    item = dir.ParseName(Path.GetFileName(NewPath));
                    PathFile.Text = NewPath;
                    FileName.Text = Path.GetFileNameWithoutExtension(NewPath) + OpenFileType;
                    MusicName.Text = dir.GetDetailsOf(item, 21);
                    WriteWords.Text = "";
                    WriteMusic.Text = "";
                    Singer.Text = dir.GetDetailsOf(item, 13);
                    Album.Text = dir.GetDetailsOf(item, 14);
                    Time.Text = dir.GetDetailsOf(item, 27);
                }
            }
        }

解析说明:例子周杰伦 - 青花瓷.mp3

-1 项目类型:MP3文件
大小:3.62
参与创作的艺术家:周杰伦
长度:00:03:57
0:青花瓷.mp3(文件名)
1: 3.62MB(大小)
2: MP3文件(项目类型)
3:xxxx-xx-xx xx:xx(修改时间)
9: 音频(文件类型)
10:Administrators(用户名)
11:音乐(所属)
13:周杰伦(演唱)
14:一人一首成名曲(专辑)
15: 2002(年份)
19:未分级
20:周杰伦(演唱)
21:青花瓷(歌名)
27: 00:03:57
28:128kbps
29:否

修改后周杰伦 - 青花瓷.mp3

图例:

打开后显示已修正得到歌曲信息:

        private void UpLoad()
        {  //wenserver需自己定义
            WebClient webclient = new WebClient();
            byte[] responseArray = webclient.UploadFile("http://192.168.1.11/WebForm1.aspx ", "POST", @"" + FilePath + "");//http路径
            string getPath = Encoding.GetEncoding("UTF-8").GetString(responseArray);
            FuncClass.ShowInformation("歌曲已"+getPath + "上传到服务器");//返回信息
        }
posted @ 2014-07-16 14:16  iEvent  阅读(721)  评论(0编辑  收藏  举报