我正在通過WebService從Web下載.TIFF圖像。我收到的圖像爲byte []。我想要下載這些圖片,並且我正在使用此代碼:將多個字節[]寫入響應
Response.ClearContent();
Response.ContentType = MimeType; // images/tiff
Response.AddHeader("Content-Disposition", "attachment;filename=\"" + Convert.ToString(FileName) + "\"");
byte[] FileContent = Convert.FromBase64String(getFileContentAsBase64String()); // Get the file content
Response.BinaryWrite((byte[])FileContent);
Response.Flush();
這是按預期方式使用一個文件。我有一種情況,我想在此時下載多個文件,但將它們顯示爲單個文件。目前我正在使用此代碼,但它不能按預期工作。它正在下載圖像,但只是第一個。我不確定第二名和第三名會發生什麼。
long PageNoLong = long.Parse(PageNo); // Number of pages (files), in this case we have 3
Response.ClearContent();
Response.ContentType = MimeType;
string FileName = "filename.tiff";
Response.AddHeader("Content-Disposition", "attachment;filename=\"" + Convert.ToString(FileName) + "\"");
//In this case, the loop loops three times, returning three byte[] which i write to the Response
for (int i = 1; i < PageNoLong+1; i++)
{
byte[] FileContent = Convert.FromBase64String(getFileContentAsBase64String());
Response.BinaryWrite((byte[])FileContent);
}
Response.Flush();
如何將這三個字節[]合併到一個.tiff文件中?
那麼什麼是你的問題:如何在連續執行多個HTTP請求?然後顯示所有相關的代碼,你可能不會處理相關的對象。或者是你的問題如何連接字節數組?事實上,我認爲這段代碼的功能與預期完全一樣,它附加了三個TIFF文件。你不能這樣做,並稱之爲一個TIFF AFAIK。 – CodeCaster
生成文件的文件大小是否與總共收到的字節數相匹配?我有點困惑;看起來好像您將接收到的文件連接成單個文件;目標是什麼? – Codor
您確定只能連接多個TIFF圖像的二進制內容嗎?我認爲這不會起作用,很可能只有第一張圖像纔會以這種方式顯示。您可能需要將3張圖像實際合併爲一個新的有效TIFF文件。 – bassfader