3 回答

TA貢獻1842條經驗 獲得超21個贊
正如Darin所說,您可以從輸入流中讀取信息-但我會避免一次過依賴所有可用數據。如果您使用的是.NET 4,這很簡單:
MemoryStream target = new MemoryStream();
model.File.InputStream.CopyTo(target);
byte[] data = target.ToArray();
CopyTo如果需要,編寫.NET 3.5中的等效代碼非常容易。重要的部分是您從閱讀HttpPostedFileBase.InputStream。
為了提高效率,您可以檢查返回的流是否已經是MemoryStream:
byte[] data;
using (Stream inputStream = model.File.InputStream)
{
MemoryStream memoryStream = inputStream as MemoryStream;
if (memoryStream == null)
{
memoryStream = new MemoryStream();
inputStream.CopyTo(memoryStream);
}
data = memoryStream.ToArray();
}

TA貢獻1815條經驗 獲得超10個贊
這對我有用,只是提供一些背景信息-謝謝!`Image img = Image.FromStream(file.InputStream); MemoryStream ms =新的MemoryStream(); img.Save(ms,ImageFormat.Jpeg); model.SiteLogo = ms.ToArray();`
添加回答
舉報