upload.js 981 B

12345678910111213141516171819202122232425262728293031323334353637
  1. const { default: axios } = require('axios')
  2. const createOption = require('../util/option.js')
  3. module.exports = async (query, request) => {
  4. const data = {
  5. bucket: 'yyimgs',
  6. ext: 'jpg',
  7. filename: query.imgFile.name,
  8. local: false,
  9. nos_product: 0,
  10. return_body: `{"code":200,"size":"$(ObjectSize)"}`,
  11. type: 'other',
  12. }
  13. // 获取key和token
  14. const res = await request(
  15. `/api/nos/token/alloc`,
  16. data,
  17. createOption(query, 'weapi'),
  18. )
  19. // 上传图片
  20. const res2 = await axios({
  21. method: 'post',
  22. url: `https://nosup-hz1.127.net/yyimgs/${res.body.result.objectKey}?offset=0&complete=true&version=1.0`,
  23. headers: {
  24. 'x-nos-token': res.body.result.token,
  25. 'Content-Type': 'image/jpeg',
  26. },
  27. data: query.imgFile.data,
  28. })
  29. return {
  30. // ...res.body.result,
  31. // ...res2.data,
  32. // ...res3.body,
  33. url_pre: 'https://p1.music.126.net/' + res.body.result.objectKey,
  34. imgId: res.body.result.docId,
  35. }
  36. }