Публикация изображения в действии контроллера asp.net mvc - PullRequest
1 голос
/ 18 января 2011

Я пытаюсь создать метод контроллера asp.net mvc, который будет возвращать изображение, сгенерированное POSTed bytearray. Сообщение поступает из Flash и имеет заголовок запроса: «Content-type», «application / octet-stream» (хотя это можно изменить при необходимости).

Код, который я пытаюсь реализовать, взят из http://designreviver.com/tutorials/actionscript-3-jpeg-encoder-revealed-saving-images-from-flash/, который дает пример с flash и php следующим образом:

AS3

var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");
var jpgURLRequest:URLRequest = new URLRequest("jpg_encoder_download.php?name=sketch.jpg");
jpgURLRequest.requestHeaders.push(header);
jpgURLRequest.method = URLRequestMethod.POST;
jpgURLRequest.data = jpgStream;
navigateToURL(jpgURLRequest, "_blank");

PHP

if (isset($GLOBALS["HTTP_RAW_POST_DATA"]))
{
    // get bytearray
    $jpg = $GLOBALS["HTTP_RAW_POST_DATA"];

    // add headers for download dialog-box
    header('Content-Type: image/jpeg');
    header("Content-Disposition: attachment; filename=".$_GET['name']);
    echo $jpg;
}

Кто-нибудь может подсказать, как может выглядеть эквивалентный метод контроллера MVC asp.net?

ASP.Net MVC

public ActionResult DownloadImage(??? ???)
{
    var myStream:FileStream = ???;
    return new FileStreamResult(new FileStream(myStream, FileMode.Open), "image/jpeg");
}

Ответы [ 2 ]

4 голосов
/ 18 января 2011

Вы можете оформить следующее сообщение в блоге , которое иллюстрирует, как загрузка файлов обрабатывается в ASP.NET MVC

1 голос
/ 18 января 2011

Я использовал нечто подобное. Проверьте это.

var image = new Bitmap(Request.InputStream);
string fileName = Guid.NewGuid() + ".jpg";
image.Save(Server.MapPath("somefolder"+fileName));

С уважением Парминдер

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...