問題タブ [shrine]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - fineuploader と Shrine を使用した S3 への直接アップロード
Shrine と fineuploader を一緒に使用して、ファイルを S3 に直接アップロードしようとしています。
私が直面している問題は、Shrine gem の presign_endpoint が、次のような形式の json レスポンスを返す GET リクエストであることです。
Fineuploader は、POST 要求を実行する署名エンドポイントを使用するため、「メソッドは許可されていません」というエラーが返されます。
fineuploader の署名メソッドを GET メソッドに変更する方法はありますか、それとも完全に間違った方向に進んでいますか? この機能を作成する際のアドバイスは大歓迎です。
https://github.com/gorails-screencasts/shrine-direct-upload-to-s3/blob/master/app/assets/javascripts/uploads.jsに似たようなことをしたいのですが、ファインアップローダーを使用します。
ruby-on-rails - Ruby Shrine - クロップ & 直接アップロード Safari の問題
追加
部分
にShrine、jquery.fileupload、cropper.jsを使用して直接アップロードを実装していますファイルアップロードからモーダルに画像をロードし、クロッパーを定義してモーダルを表示しています
次に、モーダル ボタンをクリックすると、トリミングされたキャンバスの呼び出しが toBlob になり、S3 に送信されます
S3 へのアップロードが完了したら、画像属性を非表示フィールドに書き込み、モーダルを閉じてクロッパーを破棄しています
クロムは最初からすべて正常に機能していましたが、サファリには toBlob 機能がないことがわかりました。
私はこれを見つけました:
https://github.com/blueimp/JavaScript-Canvas-to-Blob
And toBlob is not a function error was gone..
MIME タイプ関連の問題により、画像を保存できません。
クロムではなくサファリで失敗する正確な場所を見つけることができました。
define_mime_type.rb stdin_dataの 139
行目の 142行
目は io.read の後に空です options = {stdin_data: io.read(MAGIC_NUMBER), binmode: true}
何か案は?
ありがとうございました!
UPDATE
によって返されたキャッシュされた画像へのURLを把握できました
トリミングしてサファリからアップロードすると、空のファイルが返されます。
listen - Listen gem を介して Shrine にファイルをアップロードする
問題があります。追加された新しいファイルのフォルダーを追跡するためにListen gemを使用しています。新しいファイルを追加した後、Shrineを使用して他のストレージにコピーしたいのですが、Listen gemは「追加された」変数に追加されたパスを返しますファイルですが、Shrine を正しく実行するにはオブジェクトが必要です。このファイルへのパスがある場合、オブジェクトを取得するにはどうすればよいですか? 誰かが私を助けることができますか?