Подтвердить что ты не робот

Загрузка файла ASP.NET Web API 2

Я хотел бы знать, как лучше всего обрабатывать загрузку файлов и добавленную дополнительную информацию, добавляемую в файл, который будет загружен с использованием ASP.NET Web API 2 без компонентов MVC. У меня есть сеть google, и я могу сказать, что я более смущен, чем ожидал.

Дополнительная информация будет сохранена в db и файле на диске. Пока что приложение веб-API, которое я создаю, не поддерживает multipart/form-data. Он поддерживает только типы носителей по умолчанию. Я знаю, что мне нужно создать медиаформат.

Справка Pls.

4b9b3361

Ответ 1

Я написал Javascript split File и загрузился в WEB API. я думаю, вы можете ссылаться на мои кодовые коды

В интерфейсе вам нужно использовать нижеприведенный код для загрузки файла

  var xhr = new self.XMLHttpRequest();
  xhr.open('POST', url, false);
  xhr.setRequestHeader('Content-Type', 'application/octet-stream');
  xhr.send(chunk);

В бэкэнд используйте Request.InputStream.Read, чтобы поймать ваши байты файла.

    [HttpPost]
    [ValidateInput(false)]
    public string fileUpload(string filename)
    {
        byte[] file = new byte[Request.InputStream.Length];
        Request.InputStream.Read(file, 0, Convert.ToInt32(Request.InputStream.Length));
        BinaryWriter binWriter = new BinaryWriter(new MemoryStream());
        binWriter.Write(file);
        StreamReader reader = new StreamReader(binWriter.BaseStream);
        reader.BaseStream.Position = 0;
        //This example is recevied text file
        while ((line = reader.ReadLine()) != null)
        {

         };
    }

Ответ 2

Вы можете просто сериализовать данные вашего файла в BASE64 и отправить их как строку в случае, если multipart/from-data по какой-то причине не разрешены.