問題タブ [sharp]

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.

0 投票する
2 に答える
2807 参照

node.js - nodejsはリモートサーバーから画像のサイズを変更して保存します

ノードjsは、リモートサーバーから画像のサイズを変更して保存します。

こんにちは、ローカルに保存せずに画像のサイズを変更してから保存するにはどうすればよいですか。次のコードを実行すると、「エラー: 入力バッファにサポートされていない画像形式が含まれています」というエラーが表示されます。

0 投票する
1 に答える
181 参照

mongodb - 2 人のユーザーが同じロール番号を取得しないようにする方法は?

私のアプリケーションと問題について少しお話しさせてください。このアプリケーションは、組織によって開始された特定のコースに学生を登録するために使用されます。学生は、他の情報に加えて、フォームに次の情報を提供します。

  • 利用可能なコースからのコース
  • 彼の写真

フォームが正常に送信された後、彼は入院カードを印刷できます。

管理者向け:

  • 彼は好きなだけコースを作成できます
  • 彼はコースの可用性を切り替えることができます
  • 彼はstartコースのロール番号をどこに置くかを選択できます
  • 彼はcurrentコースのロール番号を変更できます

学生が送信をクリックした後に実行される手順は次のとおりです。

  1. course_idフォームから を取得し、そのコースのロールcurrent番号を取得します
  2. currentパスにファイル名としてロール番号を付けて画像を保存しますcourse_name/batch/roll_number.(png|jpg)
  3. 画像が正常に保存された場合は画像を取得し、それ以外の場合は拒否します
  4. 画像のサイズを変更して既存の画像を上書きし、画像を削除してサイズ変更に失敗した場合は拒否します
  5. 生徒のフォームをformsコレクションに保存する
  6. コレクションcurrent内のそのコースのロール番号を増やしますcourses
  7. フォーム データと画像の base64 文字列を含む応答を送信します (入院カードで使用されます)

問題:

問題は、ユーザーが同じロール番号を使用するため、ほぼ同時にフォームを送信すると、重複するロール番号が生成される可能性があることcurrentです。コレクションroll_number から来ているため、フォームを単純に自動インクリメントできないため、この問題を解決できません。courses

私のデータベースは次のようになります。

私は使っている:

画像を保存するための multer : https://github.com/expressjs/multer

画像のサイズ変更用のシャープ: https://github.com/lovell/sharp

リクエストを処理するためのexpressjs

この重複の問題を解決するにはどうすればよいか教えてください。