Я спасаю файл в формате PDF в базе данных следующим кодомскаченный файл PDF, не открывая
string filename = Path.GetFileName(FileUpload1.PostedFile.FileName);
string filetype = Path.GetExtension(FileUpload1.PostedFile.FileName);
int filesize = FileUpload1.PostedFile.ContentLength;
Stream fs = FileUpload1.PostedFile.InputStream;
BinaryReader br = new BinaryReader(fs);
byte[] content = br.ReadBytes((Int32)fs.Length);
Objects.Insert_FilesToDatabase(filename, filetype, content,filesize);
, а затем, Iam пытается сохранить файл из базы данных, щелкнув по ссылке через следующий код.
void lnkDownload_Click(object sender, EventArgs e)
{
string filetype = Objects.GetFileType(Convert.ToInt32(txtslno.Text.Trim()));
string filename=Objects.GetFileName(Convert.ToInt32(txtslno.Text.Trim()));
int filesize = Objects.GetFileLength(Convert.ToInt32(txtslno.Text.Trim()));
byte[] bytfile = new byte[filesize+1000];
Response.Clear();
Response.Buffer = true;
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition",attachment;filename="+filename+".pdf");
Response.BufferOutput = true;
Response.Charset = "";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.BinaryWrite(bytfile);
Response.End();
}
Через этот код, я могу загрузить pdf-файл, но я не могу открыть файл pdf. Ошибка в том, что файл неправильно декодирован. Можете ли вы помочь мне в том, где я ошибаюсь?
* * Поместить полное сообщение об ошибке ** – tnw
Adobe Reader не может быть открыт, потому что это либо не поддерживаемый тип файла, либо потому, что файл поврежден (например, он был отправлен как вложение электронной почты и неправильно декодирован) – codewarrior
вы добавляете 1000 здесь 'byte [] bytfile = new byte [filesize + 1000];'? – bUKaneer