amirjalili
یک شنبه 09 خرداد 1389, 13:21 عصر
با سلام.
بنده از نامه ای که در سایت دریافت کردم یک فایل docx میسازم و پیشوند اون رو برابر موضوع نامه قرار میدم.بعد zip میکنم و بعد فرد گزینه save مرورگر باز میشه و فرد میتونه نامه ای رو که دریافت کرده ذخیره کنه.
حال فرض کنید موضوع نامه "سلام" باشه. در این صورت فایل به صورت docx.سلام ذخیره میشه. اینجا مشکل به وجود میاد و اصلا نمیتونه زیپ کنه و ذخیره کنه.
اینم کد :
string name = string.Format("{0:00}_{1}_{2}.docx" , i + 1 , Mafk.Classes.Shamsi.ToShamsi(em.SendDate),em.Code. ToString());
System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"[\/:\*\?""<>|]");
name = regex.Replace(name , "").Replace(" " , "_");
sb.AppendLine(string.Format("{0}\t{1}\t\t{2}" , name , em.Code , em.Subject));
Uri _uri = new Uri("/" + name, UriKind.Relative);
string contentType = System.Net.Mime.MediaTypeNames.Text.RichText;
contentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
byte[] fileBytes = File.ReadAllBytes(_word);
PackagePart newFilePackagePart = _zipFile.CreatePart(_uri , contentType , CompressionOption.SuperFast);
newFilePackagePart.GetStream().Write(fileBytes , 0 , fileBytes.Length);
File.Delete(_word);
در قسمت
PackagePart newFilePackagePart = _zipFile.CreatePart(_uri , contentType , CompressionOption.SuperFast);
newFilePackagePart.GetStream().Write(fileBytes , 0 , fileBytes.Length);
خطای زیر رو میده که میگه uri مقدارش نادرسته.
Part URI is not valid per rules defined in the Open Packaging Conventions specification.
چطور میشه مشکل رو حل کرد؟
ممنون
بنده از نامه ای که در سایت دریافت کردم یک فایل docx میسازم و پیشوند اون رو برابر موضوع نامه قرار میدم.بعد zip میکنم و بعد فرد گزینه save مرورگر باز میشه و فرد میتونه نامه ای رو که دریافت کرده ذخیره کنه.
حال فرض کنید موضوع نامه "سلام" باشه. در این صورت فایل به صورت docx.سلام ذخیره میشه. اینجا مشکل به وجود میاد و اصلا نمیتونه زیپ کنه و ذخیره کنه.
اینم کد :
string name = string.Format("{0:00}_{1}_{2}.docx" , i + 1 , Mafk.Classes.Shamsi.ToShamsi(em.SendDate),em.Code. ToString());
System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"[\/:\*\?""<>|]");
name = regex.Replace(name , "").Replace(" " , "_");
sb.AppendLine(string.Format("{0}\t{1}\t\t{2}" , name , em.Code , em.Subject));
Uri _uri = new Uri("/" + name, UriKind.Relative);
string contentType = System.Net.Mime.MediaTypeNames.Text.RichText;
contentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
byte[] fileBytes = File.ReadAllBytes(_word);
PackagePart newFilePackagePart = _zipFile.CreatePart(_uri , contentType , CompressionOption.SuperFast);
newFilePackagePart.GetStream().Write(fileBytes , 0 , fileBytes.Length);
File.Delete(_word);
در قسمت
PackagePart newFilePackagePart = _zipFile.CreatePart(_uri , contentType , CompressionOption.SuperFast);
newFilePackagePart.GetStream().Write(fileBytes , 0 , fileBytes.Length);
خطای زیر رو میده که میگه uri مقدارش نادرسته.
Part URI is not valid per rules defined in the Open Packaging Conventions specification.
چطور میشه مشکل رو حل کرد؟
ممنون