Попытка загрузить файл с ASP.NET MVC

Вот еще одна опция, которая использует опцию append = FALSE.

library(skimr)
library(dplyr)
library(ggplot2)

iqr_na_rm <- function(x) IQR(x, na.rm = TRUE)
median_na_rm <- function(x) median(x, na.rm = TRUE)

my_skimmers <- list(n = length, missing = n_missing, complete = n_complete,
                     mean = mean.default, sd = purrr::partial(sd, na.rm = TRUE),
                     median = median_na_rm,  iqr = iqr_na_rm
                    )

skim_with(numeric = my_skimmers,
     integer = my_skimmers, append = FALSE)

msleep %>%
  group_by(vore) %>%
  skim(sleep_total) %>%
  kable()

Я не поместил всю статистику, но вы можете посмотреть в файлах functions.R и stats.R, чтобы увидеть, как определяется различная статистика.

5
задан GEOCHET 23 September 2009 в 23:45
поделиться

4 ответа

Никакой кровавый путь :(

Я выяснил, что ответ и это являются довольно хромыми.

У меня должно было быть имя аргумента, являющееся идентичным значениям идентификатора/имени входного типа = элемент "файла"!!! (не уверенный, если это или или оба значения элемента..., я не проверил тот бит).

таким образом, это - ответ.

Элемент ввода HTML. (отметьте значение идентификатора/имени),

<input type="file" id="imageFileName" name="imageFileName" class="upload" />

Метод контроллера

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create([Bind(Include = "Subject, Content")]Post post,
    HttpPostedFileBase imageFileName)
{
...
}

ножи!

10
ответ дан 18 December 2019 в 10:49
поделиться

Помните, что также необходимо открыть форму как это:

<form enctype="multipart/form-data" ...
5
ответ дан 18 December 2019 в 10:49
поделиться

В течение прошлой недели я создавал систему загрузки/файлового менеджера для своего проекта MVC, и моя исходная попытка состояла в том, чтобы отправить дополнительные данные сообщения с многослойными значениями файлов. это оказалось слишком трудным для моих ограничений времени. мой подход теперь должен создать "соответствующую запись", к которой файлы/изображения могут быть 'присоединены' (как это находится в моем случае), - загрузка тогдашняя ('присоединение') файлы/изображения после того, как запись присутствует.

например: 1) создайте запись события, 2) присоедините изображения с управлением загрузкой

Мое действие, которое получает многослойное сообщение, использует понятия из сообщения Hanselman.

Я не могу сказать, что попробовал встроенную привязку составного типа за файлы (HttpPostedFileBase), но я предположил бы, что это будет более сложно, чем мое существующее решение, учитывая, что от того, чтобы читать сообщение Hanselman записал выше - я узнал что набор файлов, возвращенный в Request только свободно введенный набор.

Я предложил бы придерживаться Вашего исходного кода и пытаться сделать это более безопасным для Ваших целей.

0
ответ дан 18 December 2019 в 10:49
поделиться

Не уверен, имеет ли это отношение к вопросу, но я только что нашел способ получить привязку модели для работы HttpPostedFileBase в сложных объектах. К сожалению, мне пришлось внести изменения в исходный код ASP.NET MVC, так что это не для всех.

В System.Web.Mvc.ValueProviderDictionary.PopulateDictionary () поставщик значений заполняется содержимым Request.Form, Request.QueryString и RouteData, но НЕ Request.Files. Добавьте следующие строки, чтобы «исправить» это (я говорю «исправить», потому что может быть причина, по которой команда ASP.NET MVC не сделала этого. я делаю это в первую очередь).

HttpFileCollectionBase files = ControllerContext.HttpContext.Request.Files;
if (files != null)
{
    string[] keys = files.AllKeys;
    foreach (string key in keys)
    {
        HttpPostedFileBase file = files[key];
        ValueProviderResult result = new ValueProviderResult(file, file.FileName, currentCulture);
        AddToDictionaryIfNotPresent(key, result);
    }
}
1
ответ дан 18 December 2019 в 10:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: