Я конвертирую веб-приложение в мобильное приложение.Мы использовали AjaxAsyncFileUpload
в веб-приложении для сохранения документа на сервере, где AjaxAsyncFileUpload
использовал, чтобы сделать работу за меня.Это был код
Dim fileData As Byte() =new Byte(AjaxAsyncFileUpload.FileContent.Length-1){}
AjaxAsyncFileUpload.FileContent.Read(fileData, 0, fileData.Length)
InvestmentDeclare.DocSize = AjaxAsyncFileUpload.FileContent.Length
InvestmentDeclare.DocFileName = AjaxAsyncFileUpload.FileName
InvestmentDeclare.DocFileType = AjaxAsyncFileUpload.PostedFile.ContentType
InvestmentDeclare.Document = fileData
А потом просто сохранить это в моей базе данных.
Теперь, когда я конвертирую это в мобильное приложение (я также использую c # для мобильного приложения), я не могупередать байтовый массив.Я использую Fiddler для тестирования.Я приложил изображение того, как я передаю его через скрипач.В моем методе API POST я получаю нулевое значение для моей переменной документа, в то время как я могу правильно получить остальные значения.
В чем может быть проблема?Я не передаю байт в правильном формате Json?
В API:
public class AddInvestmentDeclare
{
public int EmployeeId { get; set; }
public int YearId { get; set; }
public int InvestmentId { get; set; }
public List<EmpDocument> EmpDocuments { get; set; }
}
public class EmpDocument
{
public byte[] Document { get; set; }
public string DocumentFileName { get; set; }
public long DocumentSize { get; set; }
public string DocumentType { get; set; }
}
public HttpResponseMessage Post(int YearId, [FromBody]List<AddInvestmentDeclare> InvestmentDeclared)
{
Когда я проверяю свой список InvestDeclared
во время выполнения, я вижу, что переменная документа не заполнена, и онапоказывает ноль.Я также приложил изображение этого.