0

Java バックエンドを使用して、ユーザーのブラウザから Cloudinary へのファイルの直接アップロードを実装する方法を理解しようとしています。これはnode.js に関するこの質問に似ていますが、Java に関するものです。

このトピックに関する Cloudinary のブログ投稿:

http://cloudinary.com/blog/direct_image_uploads_from_the_browser_to_the_cloud_with_jquery

手動の方法ではかなりまばらで、正確な HTML/JS の最終結果がどのように見えるかについて詳しく説明していないため、これを Java で機能させるのは困難でした。

これを機能させるには、正確に何が必要ですか?

4

1 に答える 1

0

私は答えを待つことをあきらめ、自分で実装しました。このコードは、cloudinary_java プロジェクトのこのフォークで入手できます。

また、公式の cloudinary_java プロジェクトへのプル リクエストも作成しました。

次のように新しい機能を使用できます。

<%@ taglib prefix="cl" uri="http://cloudinary.com/jsp/taglib" %>
...
<cl:upload tags="userProfilePhoto" fieldName="cloudinaryResource" />
<input type="hidden" name="cloudinaryResource" />

cloudinary のドキュメントに従って、アップロードする画像を取得できるはずです。次に、正常にアップロードするためのハンドラーを登録し、public_id とフォーマットをサーバーに保存する方法を見つけます。

cloudinary イメージ タグを使用してタグを作成する例を次に示します。

<cl:image id="profilePhoto" crop="crop" height="120" width="120"
    extraClasses="profilePhoto" publicId="${cloudinaryPublicId}" format="jpg" />

Cloudinary を次のように構成します。

私たちのプロパティファイルで:

cloudinary.api.key=<api-key-here>
cloudinary.api.secret=<api-secret-here>
cloudinary.cloud-name=<cloud-name-here>

cloudinary-config.xml の春の設定で:

<bean id="cloudinaryConfigMap" class="java.util.HashMap">
    <constructor-arg>
        <map key-type="java.lang.String" value-type="java.lang.String">
            <entry key="api_key" value="${cloudinary.api.key}" />
            <entry key="api_secret" value="${cloudinary.api.secret}" />
            <entry key="cloud_name" value="${cloudinary.cloud-name}" />
            <entry key="callback" value="$[app.url.base]/path/to/cloudinary_cors.html" />
        </map>
    </constructor-arg>
</bean>

<bean id="cloudinary" class="com.cloudinary.Cloudinary">
    <constructor-arg index="0" ref="cloudinaryConfigMap" />
</bean>

<bean id="cloudinarySingleton" class="com.cloudinary.SingletonManager" 
    init-method="init" destroy-method="destroy">
    <property name="cloudinary" ref="cloudinary" />
</bean>

これにより、設定システムから Cloudinary が設定され、結果が SingletonManager に保存されます。Spring コンテキストがシャットダウンされると、Cloudinary オブジェクトがシングルトンからクリアされるため、メモリ リークは発生しません。

これが他の誰かに役立つことを願っています!

于 2013-05-06T19:00:43.327 に答える