Я хочу использовать ImageResizer (из ImageResizing dot net). Я установил ImageResizer для MVC через NuGet. Но когда я иду использовать следующий код из примера:HttpContext.Current not Resolving in MVC 4 Project
//Loop through each uploaded file
foreach (string fileKey in HttpContext.Current.Request.Files.Keys)
{
HttpPostedFile file = HttpContext.Current.Request.Files[fileKey];
if (file.ContentLength <= 0) continue; //Skip unused file controls.
//The resizing settings can specify any of 30 commands.. See http://imageresizing.net for details.
//Destination paths can have variables like <guid> and <ext>, or
//even a santizied version of the original filename, like <filename:A-Za-z0-9>
ImageResizer.ImageJob i = new ImageResizer.ImageJob(file, "~/uploads/<guid>.<ext>", new ImageResizer.ResizeSettings(
"width=2000;height=2000;format=jpg;mode=max"));
i.CreateParentDirectory = true; //Auto-create the uploads directory.
i.Build();
}
«HttpContext.Current.Request.Files.Keys» в Еогеаспе не разделяющий? У меня правильные настройки, и Visual Studio не предлагает никаких параметров «Разрешить».
Является ли HttpContext.Current установленным для чего угодно (он «разрешает»), или вы не видите только HttpContext.Current.Request.Files.Keys? Является ли этот код вашим контроллером или другим классом? Если это из метода в другом классе, убедитесь, что вы каким-то образом передали ему HttpContext.Current. Или в качестве параметра для метода, который вы вызываете, или с открытым членом (типа HttpContext), который должен принять это значение до вызова метода. – Floremin
HttpContext.Current не является глобальным для вашего приложения. Он задается в действиях и представлениях, которые обслуживают запрос, но вне цикла запроса (например, модели, служебные классы и т. Д.) Он не существует. Если вам это нужно, вы должны передать его из действия или представления, где оно существует, как говорит @Floremin. –
OK - Да, это в действии в моем контроллере. HttpContext разрешает, но не текущий. Я нахожу HttpContext.Request.Files без статического тока, и это, похоже, работает нормально. Не знаете, почему статический ток не существует, возможно, недоступен из контекста контроллера? Надеюсь, я не «пропустил» что-нибудь, не используя статику. Благодаря! – Nick