Karthik Chintala
Karthik Chintala

Reputation: 5545

HTTP Error 405 when uploading an image using uploadify

I'm trying to create an uploading control in MVC3.

At first i've tried with javascript and HTML5 to create upload control, but that doesn't work with any of the IE versions. So,i've move to this flash version of uploadify.

I'm getting HTTP Error: 405 when uploading

Here is my code in javascript for uploadify

$(function () {
        $('#file_upload').uploadify({
            debug:true,
            'swf': '/Content/uploadify/uploadify.swf',
            'uploader': '/Content/uploadify/uploadify.php',
            'cancelImg': '/Images/uploadify-cancel.png',
            'script': '/Home/Uploadify',
            'folder': '/Content/uploads',
            auto: true

        });
    });

I've even tried with debug: true to see what was gone wrong, but i couldn't get what is wrong.

Here is my output with debug:

---SWFUpload Instance Info---
Version: 2.2.0 2009-03-25
Movie Name: SWFUpload_0
Settings:
    upload_url:               /Content/uploadify/uploadify.php
    flash_url:                /Content/uploadify/uploadify.swf?preventswfcaching=1355289873808
    use_query_string:         false
    requeue_on_error:         false
    http_success:             
    assume_success_timeout:   30
    file_post_name:           Filedata
    post_params:              [object Object]
    file_types:               *.*
    file_types_description:   All Files
    file_size_limit:          0
    file_upload_limit:        0
    file_queue_limit:         999
    debug:                    true
    prevent_swf_caching:      true
    button_placeholder_id:    file_upload
    button_placeholder:       Not Set
    button_image_url:         /
    button_width:             120
    button_height:            30
    button_text:              
    button_text_style:        color: #000000; font-size: 16pt;
    button_text_top_padding:  0
    button_text_left_padding: 0
    button_action:            -110
    button_disabled:          false
    custom_settings:          [object Object]
Event Handlers:
    swfupload_loaded_handler assigned:  false
    file_dialog_start_handler assigned: true
    file_queued_handler assigned:       true
    file_queue_error_handler assigned:  true
    upload_start_handler assigned:      true
    upload_progress_handler assigned:   true
    upload_error_handler assigned:      true
    upload_success_handler assigned:    true
    upload_complete_handler assigned:   true
    debug_handler assigned:             true

SWF DEBUG: SWFUpload Init Complete
SWF DEBUG: 
SWF DEBUG: ----- SWF DEBUG OUTPUT ----
SWF DEBUG: Build Number:           SWFUPLOAD 2.2.0
SWF DEBUG: movieName:              SWFUpload_0
SWF DEBUG: Upload URL:             /Content/uploadify/uploadify.php
SWF DEBUG: File Types String:      *.*
SWF DEBUG: Parsed File Types:      
SWF DEBUG: HTTP Success:           0
SWF DEBUG: File Types Description: All Files (*.*)
SWF DEBUG: File Size Limit:        0 bytes
SWF DEBUG: File Upload Limit:      0
SWF DEBUG: File Queue Limit:       999
SWF DEBUG: Post Params:
SWF DEBUG: ----- END SWF DEBUG OUTPUT ----
SWF DEBUG: 
SWF DEBUG: Event: fileDialogStart : Browsing files. Multi Select. Allowed file types: *.*
SWF DEBUG: Select Handler: Received the files selected from the dialog. Processing the file list...
SWF DEBUG: Event: fileQueued : File ID: SWFUpload_0_0
SWF DEBUG: Event: fileDialogComplete : Finished processing selected files. Files selected: 1. Files Queued: 1
SWF DEBUG: StartUpload: First file in queue
SWF DEBUG: Event: uploadStart : File ID: SWFUpload_0_0
SWF DEBUG: ReturnUploadStart(): File accepted by startUpload event and readied for upload.  Starting upload to /Content/uploadify/uploadify.php for File ID: SWFUpload_0_0
SWF DEBUG: Event: uploadProgress (OPEN): File ID: SWFUpload_0_0
SWF DEBUG: Event: uploadProgress: File ID: SWFUpload_0_0. Bytes: 846359. Total: 846359
SWF DEBUG: Event: uploadError: HTTP ERROR : File ID: SWFUpload_0_0. HTTP Status: 405.
SWF DEBUG: Event: uploadComplete : Upload cycle complete.

Can anyone tell me, where am i wrong ?

EDIT:

This is the request responce tracked from Fiddler:

POST /Content/uploadify/uploadify.php HTTP/1.1
Host: localhost:6930
Connection: keep-alive
Content-Length: 561702
Origin: http://localhost:6930
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11
Content-Type: multipart/form-data; boundary=----------Ef1Ij5Ef1cH2GI3GI3ei4Ij5ae0gL6
Accept: */*
Referer: http://localhost:6930/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3

HTTP/1.1 405 Method Not Allowed
Cache-Control: private
Allow: GET, HEAD, OPTIONS, TRACE
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/8.0
X-SourceFiles: =?UTF-8?B?YzpcdXNlcnNcYWRtaW5pc3RyYXRvclxkb2N1bWVudHNcdmlzdWFsIHN0dWRpbyAyMDEyXFByb2plY3RzXERhdGVBbmRUaW1lQ29udHJvbFxEYXRlQW5kVGltZUNvbnRyb2xcQ29udGVudFx1cGxvYWRpZnlcdXBsb2FkaWZ5LnBocA==?=
X-Powered-By: ASP.NET
Date: Wed, 12 Dec 2012 10:03:44 GMT
Content-Length: 5506

Upvotes: 1

Views: 2934

Answers (1)

Karthik Chintala
Karthik Chintala

Reputation: 5545

I've solve my problem finally. Its the uploader that troubled me.

the uploader should be the action of the controller in mvc.

Here is the solution:

$(function () {
        $('#file_upload').uploadify({
            debug:true,
            'swf': '/Content/uploadify/uploadify.swf',
            'uploader': '/Home/Uploadify',
            auto: true

        });
    });

Upvotes: 1

Related Questions