2011-01-18 2 views
1

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

Код я пытаюсь осуществить от http://designreviver.com/tutorials/actionscript-3-jpeg-encoder-revealed-saving-images-from-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; 
} 

Может ли кто-нибудь предложить, какой может быть метод equipent asp.net MVC controller l ook нравится?

ASP.Net MVC

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

ответ

4

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

1

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

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

С уважением Parminder

Смежные вопросы