Рейтинг:
28
OriginalGriff
Вы, кажется, пытаетесь записать байт arry из базы данных в файл: почему это вызывает у вас проблемы? Если у вас есть байты, просто напишите их:
File.WriteAllBytes(@"C:\testpdf.pdf", myArrayOfBytes);
(Вы должны знать, что это, скорее всего, не удастся - проблемы с разрешениями часто препятствуют записи в корневой каталог жесткого диска - попробуйте вместо этого использовать подкаталог)
moral_2011
Спасибо теперь он работает со мной
Member 12546186
спасибо братан
Deepak_Das
Есть ли способ, чтобы передать URL-адрес сервера в writeAllBytes способ
например http://localhost:17813/QuadraSuiteWeb/PROPAttachments/PropertyBill.pdf-да. Потому что, когда я пытаюсь добавить этот url, появляется исключение "форматы URI не поддерживаются."
String _ReportPath = "Reports/PropertyManagement/PROPBillGeneration.rdlc";
PDFReportGenerator _PDFReportGenerator = новый PDFReportGenerator(_ReportPath, "PROPBillReportDTO", P. PROPBillReportDTOList, Param);
var FileContent = _PDFReportGenerator.getReportBytes();
if (FileContent.Длина > 0)
{
ReportDTO.PROPBillID = P. PROPBillID;
DefaultResponseDTO _DefaultResponseDTO = serviceUtil.GetServiceProxy<ipropbillgenerationservice>().GenerateBillAndSendMail(ReportDTO, FileContent);
строка url = HttpContext.Current.Запрос.URL-адрес.AbsoluteUri.Заменить(Свойство HttpContext.Тока.Запрос.URL-адрес.AbsolutePath, "");
строка siteFolder = "/" + HttpContext.Current.Запрос.FilePath.Split('/')[1];
URL-адрес = URL-адрес.Сплит('?')[0] + siteFolder + @"/PROPAttachments/PropertyBill.формат PDF";
URL-адрес = URL-адрес.Заменить("~", "");
URL-адрес = URL-адрес.Заменить("//", "/");
URL-адрес = URL-адрес.Вставить(5, "/");
System.IO.File.WriteAllBytes(url, FileContent);
}
Рейтинг:
1
arindamrudra
Если это массив байтов, вы можете записать его на диск, чтобы он был сохранен в виде файла *pdf.
или
либо вы можете записать байты в выходной поток ответа, и пользователю будет предложено загрузить и сохранить файл.
Response.Clear();
Response.ContentType = "application/pdf";
Response.AppendHeader("Content-Disposition", "inline;filename=data.pdf");
Response.BufferOutput = true;
byte[] pdf;
Response.AddHeader("Content-Length", response.Length.ToString());
Response.BinaryWrite(pdf);
Response.End();
Не могли бы вы взглянуть на этот код? Я получил его по ссылке, приведенной ниже.
http://social.msdn.microsoft.com/Forums/en-US/csharplanguage/thread/6810a67f-66d9-4ce4-87e5-06dbbb754730/[
^]
Надеюсь, это вам поможет.