Nano Hash - криптовалюты, майнинг, программирование

Создать файл на стороне клиента и отправить на сервер

я хочу создать файл на стороне клиента с помощью Angular или Javascript и отправить его на сервер. Используя контроллер MVC, моя серверная функция

 public void SavePivotFile(HttpPostedFileBase file)
    {
        try
        {
            if (file.ContentLength > 0)
            {
                var fileName = Path.GetFileName(file.FileName);
                var path = Path.Combine(Server.MapPath("~"), System.Configuration.ConfigurationManager.AppSettings["reportsFolder"].ToString(), fileName);
                file.SaveAs(path);
            }
        }
        catch(Exception e)
        {
            throw;
        }
    }

Теперь на стороне клиента у меня есть объект, который я хочу отправить в SavePivotFile как файл. Я пробовал это, но не работает. Параметры объекта - это JSON.

            $http({
                method: 'GET',
                url: '/FileManager/SavePivotFile',
                params: {
                    file: options,
                }
            }).then(function successCallback(response) {
                showNotification('The changes have been saved.', 'info');
            }, function errorCallback(response) {
                showNotification('Failed to save the file.', 'error');
            });

Также я пытался создать новый FormData() перед отправкой, но тоже не работает. Как кошка берет параметры JSON-объекта и передает его на сервер в виде файла?


Ответы:


1
    //C# Code  
   [HttpPost]
   [Route('FileManager/SavePivotFile')]
  // you can use [Allow(Role)] to allow particular role. Google it!   
  public void SavePivotFile(HttpPostedFileBase file)
{
    try
    {
        if (file.ContentLength > 0)
        {
            var fileName = Path.GetFileName(file.FileName);
            var path = Path.Combine(Server.MapPath("~"), System.Configuration.ConfigurationManager.AppSettings["reportsFolder"].ToString(), fileName);
            file.SaveAs(path);
        }
    }
    catch(Exception e)
    {
        throw;
    }
}



//Angular Code
 $http.post('FileManager/SavePivotFile',options)//Optionsistheobjectuwanttosend 
       .success(function(res){
       //your code. since the c# method isvoid you will not get any response
        })
       .error(function(e){
       //your error handling
        })   

Модель HttpPostedFileBase должна быть похожа на параметры. Таким образом, вы можете получить доступ к JSON в С#.

Дайте мне знать, если это работает.

11.05.2017
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..