multipart.js 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. 'use strict';
  2. const os = require('os');
  3. const path = require('path');
  4. /**
  5. * [exports 文件流式上传配置]
  6. * @type {Object}
  7. */
  8. module.exports = (appInfo) => {
  9. return {
  10. /**
  11. * [mode 以流的方式进行上传]
  12. * @type {String}
  13. */
  14. mode: 'stream',
  15. /**
  16. * [autoFields 将字段自动设置为部分,默认值为“false”。只在“stream”模式下工作。
  17. * 如果设置为true,则所有字段都将是自动句柄,并且可以通过“parts.fields”访问]
  18. * @type {Boolean}
  19. */
  20. autoFields: true,
  21. /**
  22. * [defaultCharset 默认字符集编码,在你真正知道之前不要更改它]
  23. * @type {String}
  24. */
  25. defaultCharset: 'utf8',
  26. /**
  27. * [fieldNameSize 最大字段名大小(字节),默认为'100]
  28. * @type {Number}
  29. */
  30. fieldNameSize: 100,
  31. /**
  32. * [fieldSize 最大字段值大小(字节),默认值为“100kb”`]
  33. * @type {String}
  34. */
  35. fieldSize: '100kb',
  36. /**
  37. * [fields 非文件字段的最大数目,默认为“10”`]
  38. * @type {Number}
  39. */
  40. fields: 10,
  41. /**
  42. * [fileSize 最大文件大小(字节),默认为“10mb`]
  43. * @type {String}
  44. */
  45. fileSize: '50mb',
  46. /**
  47. * [files 最大文件字段数,默认为“10”`]
  48. * @type {Number}
  49. */
  50. files: 10,
  51. /**
  52. * [fileExtensions 在“白名单”中添加更多的ext文件名,默认为`[]`]
  53. * @type {Array}
  54. */
  55. fileExtensions: [],
  56. /**
  57. * [whitelist 白名单的ext文件名,默认为'null`]
  58. * @type {[type]}
  59. */
  60. whitelist: ['.png','.jpeg','.jpg','.bmp','.mp4','.mp3','.wmv'],
  61. /**
  62. * [tmpdir 临时文件的目录。只在“文件”模式下工作]
  63. * @type {[type]}
  64. */
  65. tmpdir: path.join(appInfo.baseDir, 'runtime','egg-multipart-tmp', 'szjkj'),
  66. /**
  67. * [cleanSchedule 定时清除临时文件缓存]
  68. * @type {Object}
  69. */
  70. cleanSchedule: {
  71. // 每天凌晨4:30运行tmpdir clean job
  72. cron: '0 30 4 * * *',
  73. }
  74. };
  75. };