Я пытаюсь сохранить фотографию 3036x4048 в базе данных SQL.Я преобразовал его в строку base64 с помощью Javascript, но всякий раз, когда я пытаюсь опубликовать его в моем веб-API, объект отображается как нулевой.Я могу сохранить небольшие фотографии без проблем, поэтому я знаю, что веб-API работает.Согласно моим исследованиям максимальная длина, которую может хранить байт [], составляет 2 146 435 071.Изображение, которое я пытаюсь опубликовать, имеет длину 9,218,020.Я также посмотрел на размер изображения, и это около 6 МБ.Я также вручную вставил это изображение в базу данных, и он принимает его просто отлично.Так почему мой веб-API не может обрабатывать увеличенное изображение?Размер изображения (6 МБ) слишком большой?
Вот немного кода.Не уверен, поможет ли это.
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;
}