0

Photoshop 拡張機能から Rails サーバーに画像をアップロードしようとして、2 日間苦労しており、少し助けてくれることを望んでいました。

画像をアップロードするために使用しているコードは次のようになります。

        doc.selection.fill(color);
        var saveOptions:JPEGSaveOptions = new JPEGSaveOptions();
        doc.saveAs(File.applicationStorageDirectory, saveOptions);

        var req:URLRequest;

        var UPLOAD_URL:String = "http://localhost:3000/designs"; 
        var myFile:File = File.applicationStorageDirectory.resolvePath("Untitled-1.jpg");
        var file:FileReference = FileReference(myFile);

        var urlRequest:URLRequest = new URLRequest();
        urlRequest.url = UPLOAD_URL; 
        urlRequest.method = URLRequestMethod.POST;
        urlRequest.contentType = "image/jpeg";
        urlRequest.requestHeaders.push(new URLRequestHeader('Cache-Control', 'no-cache'));
        var params:URLVariables = new URLVariables();
        params['design[option]'] = 'iphone';
        params['design[title]'] = 'title';
        params['design[description]'] = 'description';
        params['design[app_store_url]'] = 'app_store_url';
        params['design[tags]'] = 'tags';
        params['design[temp_number]'] = 1;

        urlRequest.data = params;
        file.upload(urlRequest, "design[image0]");

次のような出力パラメーター (rails サーバーから取得):

Parameters: {
    "Filename"=>"Untitled-1.jpg", 

    "design"=>{
        "option"=>"iphone", 
        "title"=>"title", 
        "app_store_url"=>"app_store_url", 
        "tags"=>"tags", 
        "temp_number"=>"1", 
        "description"=>"description", 
        "image0"=>#<ActionDispatch::Http::UploadedFile:0x007fa24150c720 
        @original_filename="Untitled-1.jpg", 
        @content_type="application/octet-stream", 
        @headers="Content-Disposition: form-data; 
        name=\"design[image0]\"; 
        filename=\"Untitled-1.jpg\"\r\nContent-Type: application/octet-stream\r\n", 
        @tempfile=#<File:/var/folders/46/5zb4wnk14c9gtw_lfggfrvy40000gn/T/RackMultipart20120821-8131-1of709u>>
    }, 

"Upload"=>"Submit Query"}

それはデザインをうまく作成し、すべてのパラメーターを入れます。ただし、画像は空白のままです。

これらのパラメーターと私が通常取得するパラメーターとの唯一の違いは、コンテンツ タイプです。しかし、それはこのように影響するべきではありませんよね?

4

1 に答える 1

0

なんとかできました。バックエンドでエラーが発生しました

于 2012-11-16T08:01:55.947 に答える