files.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. import connection from "./base.js";
  2. /*
  3. `file_id` VARCHAR(100) NOT NULL, -- file_id 长度为 100
  4. `md5` VARCHAR(32) NOT NULL, -- MD5 长度为 32
  5. `mimetype` VARCHAR(255) NOT NULL, -- mimetype 长度为 255
  6. `size` INT NOT NULL,
  7. `name` VARCHAR(255) DEFAULT NULL,
  8. `path` VARCHAR(255) DEFAULT NULL,
  9. */
  10. export async function files_insert({
  11. file_id = "",
  12. source_id = "",
  13. md5 = "",
  14. mimetype = "",
  15. size = "",
  16. name = "",
  17. path = "",
  18. }) {
  19. return new Promise(async (resolve, reject) => {
  20. try {
  21. const sql = `
  22. INSERT INTO files (file_id, source_id, md5, mimetype, size, name, path)
  23. VALUES (?, ?, ?, ?, ?, ?, ?)
  24. ON DUPLICATE KEY UPDATE file_id = file_id;
  25. `;
  26. const values = [file_id, source_id, md5, mimetype, size, name, path];
  27. // 直接接收 execute 返回的内容
  28. const result = await connection.execute(sql, values);
  29. return resolve(result);
  30. } catch (err) {
  31. console.log(34, err);
  32. return resolve(false);
  33. }
  34. });
  35. }
  36. // 查询图片信息
  37. export function getFileBymd5(md5Str) {
  38. return new Promise((resolve, reject) => {
  39. connection.query(
  40. `SELECT * FROM files WHERE md5 = ?`,
  41. [md5Str],
  42. (err, rows) => {
  43. if (err) {
  44. resolve(false); // 如果存在记录,则返回 true,否则返回 false
  45. } else {
  46. resolve(rows[0]); // 如果存在记录,则返回 true,否则返回 false
  47. }
  48. }
  49. );
  50. });
  51. }
  52. // 查询图片信息
  53. export function searchFileByPath(imgPath) {
  54. return new Promise((resolve, reject) => {
  55. connection.query(
  56. `SELECT * FROM files WHERE path like ?;`,
  57. [`%${imgPath}%`],
  58. (err, rows) => {
  59. if (err) {
  60. console.log(62626262, err);
  61. resolve(false); // 如果存在记录,则返回 true,否则返回 false
  62. } else {
  63. resolve(rows.length > 0 ? rows[0] : false); // 如果存在记录,则返回 true,否则返回 false
  64. }
  65. }
  66. );
  67. });
  68. }