private void CheckAndCreateImage(byte[] data, string filename, string groupname, string shortcut, string appointGroupName) { if (appointGroupName == "Ĭ�Ϸ���") { appointGroupName = "{default}"; } EmoticonItem emoticon; //string postfix = Check.GetFileNamePostfix(filename); //bool tempBool = false; ////string newFileName; //if (postfix == "GIF" || postfix == "JPG") //{ // if (Check.CheckImage(data)) // tempBool = true; //} //if (tempBool) string MD5FileName = MD5.GetMD5(data); if (appointGroupName != "") { groupname = appointGroupName; } emoticon = new EmoticonItem(); emoticon.MD5 = MD5.GetMD5(data); emoticon.FileName = filename; emoticon.Shortcut = shortcut; emoticon.Data = data; if (!emoticons.ContainsKey(groupname)) { emoticons.Add(groupname, new List <EmoticonItem>()); } emoticons[groupname].Add(emoticon); this.EmoticonCount++; this.TotalEmoticonSize += data.Length; if (this.MaxEmoticonSize < data.Length) { this.MaxEmoticonSize = data.Length; } // string imagePath = imageRootPath + "\\" + newFileName[0] + "\\" + newFileName[1] + "\\" + newFileName; // CreateFile.Create(imagePath, data); //��������ͼ //ImageHelper.CreateThunmbnailImage(imagePath, EmoticonManager.GetThunmbnailFilePath(newFileName), 24, 24, ImageFormat.Png, true); //CreateFile.CreateThunmbnailImage(imagePath, EmoticonManager.ThunmbnailImageRootPath + emoticon.RelativePath,true); }
void Run() //List<Emoticon> { int MD5Length; //md5���ַ�����ʽ���� int uintcutLength; //��ݼ����� int FaceNameLength; //�������Ƴ��� int FaceFileNameLength; //�����ļ������� int FileLength; //�����ļ����� int ThumbnailFileNameLength; //��ͼ�ļ������� int ThumbnailFileLength; //��ͼ�ļ����� int FrameLength; //�����ļ�֡�� this.emoticons.Add(string.Empty, new List <EmoticonItem>()); this.Items = emoticons[string.Empty]; EmoticonItem emoticon; int index = 0; for (; ;) { emoticon = new EmoticonItem(); if (index >= data.Length) { break; } MD5Length = BitConverter.ToInt32(data, index); // GetByte.GetByteToInt(data, index); index += 4; uintcutLength = BitConverter.ToInt32(data, index); // GetByte.GetByteToInt(data, index); index += 4; FaceNameLength = BitConverter.ToInt32(data, index); // GetByte.GetByteToInt(data, index); index += 4; FaceFileNameLength = BitConverter.ToInt32(data, index); // GetByte.GetByteToInt(data, index); index += 4; FileLength = BitConverter.ToInt32(data, index); // GetByte.GetByteToInt(data, index); index += 4; ThumbnailFileNameLength = BitConverter.ToInt32(data, index); // GetByte.GetByteToInt(data, index); index += 4; ThumbnailFileLength = BitConverter.ToInt32(data, index); // GetByte.GetByteToInt(data, index); index += 4; FrameLength = BitConverter.ToInt32(data, index); // GetByte.GetByteToInt(data, index); index += 4; MD5Byte = GetByteArray(data, index, MD5Length); // 32); index += MD5Byte.Length; cut = new byte[uintcutLength]; cut = GetByteArray(data, index, uintcutLength); index += cut.Length; FaceName = new byte[FaceNameLength]; FaceName = GetByteArray(data, index, FaceNameLength); index += FaceName.Length; FaceFileName = new byte[FaceFileNameLength]; FaceFileName = GetByteArray(data, index, FaceFileNameLength); index += FaceFileName.Length; ThumbnailFileName = new byte[ThumbnailFileNameLength]; ThumbnailFileName = GetByteArray(data, index, ThumbnailFileNameLength); index += ThumbnailFileName.Length; file = new byte[FileLength]; file = GetByteArray(data, index, FileLength); index += file.Length; ThumbnailFile = new byte[ThumbnailFileLength]; ThumbnailFile = GetByteArray(data, index, ThumbnailFileLength); index += ThumbnailFile.Length; string tempFileName = Encoding.Unicode.GetString(FaceFileName);// Encoding.UTF8.GetString(FaceFileName); //Unicode not is UTF8 this.TotalEmoticonSize += file.Length; if (file.Length > this.MaxEmoticonSize) { this.MaxEmoticonSize = file.Length; } emoticon.MD5 = MD5.GetMD5(file); emoticon.FileName = tempFileName; emoticon.Shortcut = System.Text.Encoding.UTF8.GetString(cut); emoticon.Data = file; this.EmoticonCount++; this.Items.Add(emoticon); } }
private void CheckAndCreateImage(byte[] data, string filename, string groupname, string shortcut, string appointGroupName) { if (appointGroupName == "Ĭ�Ϸ���") appointGroupName = "{default}"; EmoticonItem emoticon; //string postfix = Check.GetFileNamePostfix(filename); //bool tempBool = false; ////string newFileName; //if (postfix == "GIF" || postfix == "JPG") //{ // if (Check.CheckImage(data)) // tempBool = true; //} //if (tempBool) string MD5FileName = MD5.GetMD5(data); if (appointGroupName != "") groupname = appointGroupName; emoticon = new EmoticonItem(); emoticon.MD5 = MD5.GetMD5(data); emoticon.FileName = filename; emoticon.Shortcut = shortcut; emoticon.Data = data; if (!emoticons.ContainsKey(groupname)) emoticons.Add(groupname, new List<EmoticonItem>()); emoticons[groupname].Add(emoticon); this.EmoticonCount++; this.TotalEmoticonSize += data.Length; if (this.MaxEmoticonSize < data.Length) this.MaxEmoticonSize = data.Length; // string imagePath = imageRootPath + "\\" + newFileName[0] + "\\" + newFileName[1] + "\\" + newFileName; // CreateFile.Create(imagePath, data); //��������ͼ //ImageHelper.CreateThunmbnailImage(imagePath, EmoticonManager.GetThunmbnailFilePath(newFileName), 24, 24, ImageFormat.Png, true); //CreateFile.CreateThunmbnailImage(imagePath, EmoticonManager.ThunmbnailImageRootPath + emoticon.RelativePath,true); }
//protected string MaxFileSize //{ // get // { // return ConvertUtil.FormatSize(EmoticonBO.Instance.MaxEmticonFileSize(MyUserID)); // } //} private void upload() { using (ErrorScope es = new ErrorScope()) { int uploadCount = 0, i = 0; MessageDisplay msgDisplay = CreateMessageDisplay(); HttpFileCollection files = Request.Files; int fileCount = 0, savedCount = 0; if (files.Count > 0) { List<EmoticonItem> emoticondDatas = new List<EmoticonItem>(); for (int j = 0; j < files.Count; j++) { if (files[j].ContentLength > 0) { uploadCount++; EmoticonItem item = new EmoticonItem(); i++; byte[] fileData = new byte[files[j].ContentLength]; item.MD5 = IOUtil.GetFileMD5Code(files[j].InputStream); files[j].InputStream.Seek(0, System.IO.SeekOrigin.Begin); files[j].InputStream.Read(fileData, 0, fileData.Length); item.Shortcut = _Request.Get("shortcut" + i, Method.Post); item.Data = fileData; item.FileName = files[j].FileName; emoticondDatas.Add(item); } } if (emoticondDatas.Count > 0) { Dictionary<string, List<EmoticonItem>> groupedDatas = new Dictionary<string, List<EmoticonItem>>(); groupedDatas.Add(string.Empty, emoticondDatas); EmoticonBO.Instance.BatchImportEmoticon(MyUserID, Group.GroupID, groupedDatas, out fileCount, out savedCount); } } if (uploadCount == 0) { message = "没有选择文件"; } else if (fileCount == 0) { message = "没有有效的表情文件"; } else if (savedCount == 0) { if (es.HasUnCatchedError) { es.CatchError<ErrorInfo>(delegate(ErrorInfo error) { message += error.Message; }); } else { message = "没有保存任何文件, 可能的原因:文件类型不正确, 或者文件大小超出限制!"; } } else { string msg = string.Empty; if (es.HasUnCatchedError) { es.CatchError<ErrorInfo>(delegate(ErrorInfo error) { message += "<br />" + error.Message; }); } message = uploadCount == savedCount ? "文件全部保存成功" : "共上传" + uploadCount + "个文件, 成功保存了" + savedCount + "个文件。" + msg; if (!es.HasUnCatchedError) state = 2; else state = 1; } } }
void Run()//List<Emoticon> { int MD5Length; //md5���ַ�����ʽ���� int uintcutLength; //��ݼ����� int FaceNameLength; //�������Ƴ��� int FaceFileNameLength; //�����ļ������� int FileLength; //�����ļ����� int ThumbnailFileNameLength; //��ͼ�ļ������� int ThumbnailFileLength; //��ͼ�ļ����� int FrameLength; //�����ļ�֡�� this.emoticons.Add(string.Empty, new List<EmoticonItem>()); this.Items = emoticons[string.Empty]; EmoticonItem emoticon; int index = 0; for (; ; ) { emoticon = new EmoticonItem(); if (index >= data.Length) break; MD5Length = BitConverter.ToInt32(data, index);// GetByte.GetByteToInt(data, index); index += 4; uintcutLength = BitConverter.ToInt32(data, index);// GetByte.GetByteToInt(data, index); index += 4; FaceNameLength = BitConverter.ToInt32(data, index);// GetByte.GetByteToInt(data, index); index += 4; FaceFileNameLength = BitConverter.ToInt32(data, index);// GetByte.GetByteToInt(data, index); index += 4; FileLength = BitConverter.ToInt32(data, index);// GetByte.GetByteToInt(data, index); index += 4; ThumbnailFileNameLength = BitConverter.ToInt32(data, index);// GetByte.GetByteToInt(data, index); index += 4; ThumbnailFileLength = BitConverter.ToInt32(data, index);// GetByte.GetByteToInt(data, index); index += 4; FrameLength = BitConverter.ToInt32(data, index);// GetByte.GetByteToInt(data, index); index += 4; MD5Byte = GetByteArray(data, index, MD5Length); // 32); index += MD5Byte.Length; cut = new byte[uintcutLength]; cut = GetByteArray(data, index, uintcutLength); index += cut.Length; FaceName = new byte[FaceNameLength]; FaceName = GetByteArray(data, index, FaceNameLength); index += FaceName.Length; FaceFileName = new byte[FaceFileNameLength]; FaceFileName = GetByteArray(data, index, FaceFileNameLength); index += FaceFileName.Length; ThumbnailFileName = new byte[ThumbnailFileNameLength]; ThumbnailFileName = GetByteArray(data, index, ThumbnailFileNameLength); index += ThumbnailFileName.Length; file = new byte[FileLength]; file = GetByteArray(data, index, FileLength); index += file.Length; ThumbnailFile = new byte[ThumbnailFileLength]; ThumbnailFile = GetByteArray(data, index, ThumbnailFileLength); index += ThumbnailFile.Length; string tempFileName = Encoding.Unicode.GetString(FaceFileName);// Encoding.UTF8.GetString(FaceFileName); //Unicode not is UTF8 this.TotalEmoticonSize += file.Length; if (file.Length > this.MaxEmoticonSize) this.MaxEmoticonSize = file.Length; emoticon.MD5 = MD5.GetMD5(file) ; emoticon.FileName = tempFileName; emoticon.Shortcut = System.Text.Encoding.UTF8.GetString(cut); emoticon.Data = file; this.EmoticonCount++; this.Items.Add(emoticon); } }