files.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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, file_md5) {
  54. return new Promise((resolve, reject) => {
  55. console.log(606060, `SELECT * FROM files WHERE path like ? ${file_md5 ? 'and path like ?' : ''};`)
  56. console.log(606060, [`%${imgPath}%`, `%${file_md5}%`])
  57. connection.query(
  58. `SELECT * FROM files WHERE path like ? ${file_md5 ? 'and path like ?' : ''};`,
  59. [`%${imgPath}%`, `%${file_md5}%`],
  60. (err, rows) => {
  61. if (err) {
  62. console.log(62626262, err);
  63. resolve(false); // 如果存在记录,则返回 true,否则返回 false
  64. } else {
  65. resolve(rows.length > 0 ? rows[0] : false); // 如果存在记录,则返回 true,否则返回 false
  66. }
  67. }
  68. );
  69. });
  70. }