我正在尝试将 3036x4048 照片保存到 SQL 数据库。我已经使用 Javascript 将它转换为 base64 字符串,但是每当我尝试将它发布到我的 web api 时,对象显示为空。我可以毫无问题地保存较小的照片,所以我知道 web api 有效。根据我的研究,byte[] 可以存储的最大长度是 2,146,435,071。我尝试发布的图像长度为 9,218,020。我还查看了图像大小,大约 6 MB。我还手动将此图像插入数据库,它接受它就好了。那么为什么我的 web api 不能处理更大的图像呢?图像大小 (6 MB) 是否太大?
这是一些代码。不确定它是否会有所帮助。
public class TicketPhoto
{
public int PhotoID { get; set; }
public byte[] Photo { get; set; }
public string Description { get; set; }
}
public static TicketPhoto SaveTicketPhoto(TicketPhoto tcktPhoto)
{
TicketPhoto ticketPhoto = new TicketPhoto();
string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
DataTable ticketPhotoTable = new DataTable();
ticketPhotoTable.Columns.Add("PHOTO_ID", typeof(int));
ticketPhotoTable.Columns.Add("PHOTO", typeof(byte[]));
ticketPhotoTable.Columns.Add("DESCRIPTION", typeof(string));
ticketPhotoTable.Rows.Add(
tcktPhoto.PhotoID,
tcktPhoto.Photo,
tcktPhoto.PhotoData,
);
using (connection)
{
SqlCommand cmd = new SqlCommand("dbo.spSMSaveTicketPhoto", connection);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter tblParam = cmd.Parameters.AddWithValue("@tblTicketPhoto", ticketPhotoTable);
tblParam.SqlDbType = SqlDbType.Structured;
cmd.ExecuteReader();
cmd.Dispose();
}
}
return ticketPhoto;
}
紫衣仙女
相关分类