2009-08-20 15 views
1
の画像のストリームとして出力

link textからこのコードブロックを取得しました。ストリームを使用する必要があるAJAX Uploaderで使用したいので少し修正しましたアップロードされたアイテムを添付ファイルディスプレイに追加するためのものASP.NETで画像サイズを変更 -

このコードブロックで呼び出されます。

private void ItemPicture_FileUploaded(object sender, UploaderEventArgs args) 
{ 
    if (GetVisibleItemCount() >= 5) 
     return; 

    using (System.IO.Stream stream = args.OpenStream()) 
    { 
     ImageResize ir = new ImageResize(); 
     // This returns a 0 byte stream 
     ItemPictureAttachments.Upload(args.FileSize, args.FileName, ir.ResizeFromStream(640, stream)); 
     // This works fine 
     // ItemPictureAttachments.Items.Add(args.FileSize, args.FileName, stream); 
    } 
} 

ストリームを呼び出し元に戻すのが間違っていますか?ありがとう!

+0

あなたは[open-source library](http://imageresizing.net)を使ってより良い画質を得て、[すべてのエッジケースを避ける]と考えましたか(http://nathanaeljones.com/163/20-image -resizing-pitfalls /)?すべてのコードを 'ImageBuilder.Current.Build(httpPostedFile、" file.jpg "、新しいResizeettings(" width = value&height = value "));で置き換えることができます。 –

答えて

0

コードに基づいて、すべてが問題なく表示されます。ブレークポイントを入力することをお勧めします。ブレークポイントは、imgInputが空でないかどうかを確認してください。または、おそらくImageRawFormatに問題があります。

0

通常のASP.NET FileコントロールのPostedFile.Inputstreamプロパティを使用してResizeFromStreamメソッドをテストしたところ、うまくいきました。おそらく問題は、ファイルのストリーム(args.OpenStream())を取得するために使用しているコンポーネントですか?

+0

ええ、定期的なアップロードだけを使用します。みんなありがとう! :) –

関連する問題