2012-04-10 38 views
0

前の画像のサイズを検証しますどのように、どのように私はあなたがプラグインuploadify jqueryのを使用することができますjQueryのjQueryの画像アップロードは、私がアップロードする前に、アップロード

<form id="form1" runat="server"> 
    <asp:FileUpload id="FileUploadControl" runat="server" /> 
    <asp:Button runat="server" id="UploadButton" text="Upload" onclick="UploadButton_Click" /> 
    <br /><br /> 
    <asp:Label runat="server" id="StatusLabel" text="Upload status: " /> 
</form> 
+0

質問はどこですか? – V4Vendetta

+0

クライアント側でアップロードされた画像の高さと幅を確認することはできません。いくつかのjQueryプラグインがあるかもしれませんが、それらをグーグルで試してみてください。しかし、このプラグインは非常に重いです。ページサイズの問題を避けるために、サーバー側でイメージの高さと幅を検証する必要があります。もしあなたがコードを取得することをお勧めします。 – Murtaza

+0

あなたは必要なものを簡単な英語で説明できますか??? ??? – Murtaza

答えて

0

幅と高さを検証します。ここ

)がasp.net

<script type="text/javascript"> 
    // <![CDATA[ 
    var id = "55"; 
    var theString = "asdf"; 
    $(document).ready(function() { 
    $('#fileInput').uploadify({ 
    'uploader': 'uploadify/uploadify.swf', 
    'script': 'Upload.ashx', 
    'scriptData': { 'id': id, 'foo': theString}, 
    'cancelImg': 'uploadify/cancel.png', 
    'auto': true, 
    'multi': true, 
    'fileDesc': 'Image Files', 
    'fileExt': '*.jpg;*.png;*.gif;*.bmp;*.jpeg', 
    'queueSizeLimit': 90, 
    'sizeLimit': 4000000, 
    'buttonText': 'Choose Images', 
    'folder': '/uploads', 
    'onAllComplete': function(event, queueID, fileObj, response, data) { 

    } 
}); 

}の私が持っているサンプルコードです。

その後、あなたはハンドラ(.ashx)を作りたい:へ - アップロードされた画像の幅と高さを検証し

public class Upload : IHttpHandler, IRequiresSessionState 
{ 

    public void ProcessRequest(HttpContext context) 
    { 
     try 
     { 
      HttpPostedFile file= context.Request.Files["Filedata"]; 

      int id = (Int32.Parse(context.Request["id"])); 
      string foo = context.Request["foo"]; 
      file.SaveAs("C:\\" + id.ToString() + foo + file.FileName); 

      context.Response.Write("1"); 
     } 
     catch(Exception ex) 
     { 
      context.Response.Write("0"); 
     } 
    } 
} 
+0

uploadify not work chrome firefox IE.http://www.uploadify.com/demos/ – PMD

0

は、クライアント側では不可能です。

しかし、アップロードした後、あなたがこの中で画像の幅と高さを得ることができます。

var height = $("#Image").height() 
var width = $("#Image").width() 
+0

FileUploadコントロールはasp.netではなくjqueryで処理されます。 – undefined

+0

さらに、javascriptの 'Image()'オブジェクトを使用することもできます - http://www.proglogic.com/learn/javascript/lesson10.php – rickyduck

0

あなたはこの方法を試すことができます。

private void ButtonUpload_Click(object sender, System.EventArgs e) { 

    //Determine type and filename of uploaded image 
    string UploadedImageType = UploadedPicture.PostedFile.ContentType.ToString().ToLower(); 
    string UploadedImageFileName = UploadedPicture.PostedFile.FileName; 

    //Create an image object from the uploaded file 
    System.Drawing.Image UploadedImage = System.Drawing.Image.FromStream(UploadedPicture.PostedFile.InputStream); 

    //Determine width and height of uploaded image 
    float UploadedImageWidth = UploadedImage.PhysicalDimension.Width; 
    float UploadedImageHeight = UploadedImage.PhysicalDimension.Height; 

    //Check that image does not exceed maximum dimension settings 
    if (UploadedImageWidth > 600 || UploadedImageHeight > 400) { 
      Response.Write("This image is too big - please resize it!"); 
    } 

}

(OR)することができますこのuploaderで試してみてください。Chrome、Firefox、IEで動作するユーザーのアップロード前に一般的な幅と高さを特定できます

0

サーバーサイド(C#);

using (System.Drawing.Image myImage = System.Drawing.Image.FromStream(FileUploadJcrop.PostedFile.InputStream)) 
{ 
    if (myImage.Width > 500) 
    { 
     Double d = (myImage.Height * 500)/myImage.Width; 
     Int32 myH = (Int32)Math.Round(d, 0); 
     Bitmap src = Bitmap.FromStream(FileUploadJcrop.PostedFile.InputStream) as Bitmap; 
     Bitmap result = new Bitmap(500, myH); 
     using (Graphics myg = Graphics.FromImage((System.Drawing.Image)result)) 
     { 
      myg.DrawImage(src, 0, 0, 500, myH); 
     } 
     result.Save(savePath); 
     FileSaved = true; 
    } 
} 
関連する問題