1
私はCF10 REST APIサービスを使用しており、ユーザーのプロフィール画像をアップロードしようとしています。ColdFusion REST APIサービスに画像をアップロードできません
サービスメソッドは、先にこの画像を保存しようとします:
<cfcomponent rest="true"
restpath="/users">
<cffunction name="saveProfilePicture"
access="remote"
httpmethod="POST"
restpath="{userid}/profilePicture"
returntype="any">
<cfargument name="uploadedImage" required="true"/>
<cfargument name="userid" required="true" restargsource="Path"/>
<cffile
action="upload"
destination="#upload_path#"
fileField="uploadedImage"
result="profilePicture"
accept="image/jpg"
/>
</cffunction>
</cfcomponent>
私は次のようにこのサービスを呼び出すようにしようとしています:私はこの呼び出しを行う
<form method="POST" enctype="multipart/form-data" action="#path#/users/#userid#/profilePicture">
<input type="file" name="uploadedImage"/>
<input type="submit" name="btn_submit_profilePicture" id="btn_submit_profilePicture"
value="Submit"/>
</form>
後、私はエラーメッセージが表示されます"サポートされていないメディアタイプ"。私の周りに検索しようとしたが、作品解決策を見つけることができませんでした
<cfhttp url="#path#/users/#userid#/profilePicture"
result="restResult" method="POST" multipart="true">
<cfhttpparam file="someimage.jpg" mimetype="image/jpg"
name="uploadedImage" type="file"/>
</cfhttp>
:私はcfhttpタグを使用する場合
は、私は同じ問題を取得します。 ほとんどのAPIは既にCF REST APIを介して実装されているので、私はそれに固執していますので、今のところフレームワークを使用することはできません。ご協力いただければ幸いです。ありがとう。
アップロードしようとしているファイルの実際のMIMEタイプは何ですか? ColdFusion 10の「cffile」タグが変更され、デフォルトではファイル拡張子だけでなくファイルのMIMEタイプも実際に評価されます。このブログのエントリーを参照 - [http://www.sagarganatra.com/2012/03/coldfusion-10-cffile-restricting-file.html](http://www.sagarganatra.com/2012/03/coldfusion-10) -cffile-restrictedting-file.html)を参照してください。最後に、 'fileGetMimeType'関数を使用してファイルのMIMEタイプを取得する例を示します。テストページを作成し、それをアップロードしているファイルに対して使用して、どのMIMEタイプが表示されるかを確認します。 –
cfcのcffileタグに 'accept =" image/jpg "'があります。本当のjpgファイルをアップロードしましたか? – Jules
@ Miguel-F @jules okだから、fileGetMimeTypeを使ってファイルのMIMEタイプをチェックしました。それは 'image/jpeg'でした。私はcfhttpの呼び出しを変更し、サービスのcfcもこのMIMEタイプで作業するように変更しましたが、私はまだ同じ問題を抱えています。 –