>  기사  >  백엔드 개발  >  위챗 미니 프로그램 개발시 업로드가 안되는 문제에 대한 해결 방법에 대한 자세한 설명

위챗 미니 프로그램 개발시 업로드가 안되는 문제에 대한 해결 방법에 대한 자세한 설명

韦小宝
韦小宝원래의
2018-03-14 17:00:0810363검색

이 글에서는 위챗 미니 프로그램 개발 시 업로드가 되지 않는 문제에 대한 해결 방법에 대해 설명합니다. 위챗 미니 프로그램 개발 시 업로드가 되지 않는 문제에 대한 해결 방법을 모르시거나, WeChat 미니 프로그램을 개발할 때 업로드할 수 없는 문제를 해결하려면 이 기사를 살펴보겠습니다. 더 이상 고민하지 말고 본론으로 들어가겠습니다.

WeChat 애플릿 wx.uploadFile이 솔루션을 업로드할 수 없습니다.

많은 개발자가 WeChat Android 클라이언트가 wx.uploadFile을 사용하여 파일을 업로드할 수 없는 문제에 직면했습니다.

저도 문제를 해결하지 못해 제3자를 이용하려 했으나 심사를 위해제출하고 결국 거절당했습니다. (리뷰어는 iOS를 사용해 테스트해야 한다는 생각으로, 안타깝게도 제 앱이 심사를 받았습니다.) Android를 사용하여)를 해결한다는 의미입니다.

결국 Qiniu의 타사 저장 방식을 사용했는데, Qiniu의 저장 공간에 직접 파일을 업로드한 후 다시 전화해서 사용하게 되었습니다.

물론 Youpaiyun 및 Wanxiang Youtu와 같은 타사 스토리지 소스도 이 아이디어를 채택할 수 있습니다.

첫 번째 단계는 Qiniu의 https 업로드 도메인 이름을 미니 프로그램의 도메인 이름 목록에 넣는 것입니다.

여기서는 Qiniu East China https://up.qbox.me의 도메인 이름을 사용하고 있습니다.

WeChat 애플릿 wx.uploadFile은 multipart/form-data 메소드를 사용하여 업로드, 즉 양식 업로드를 수행합니다.

Qiniu 공식 documentation에 따르면 http://developer.qiniu.com/docs/ ... up/form-upload.html

필요한 주요 사항은 파일(파일 자체)과 토큰( 자격 증명을 업로드하세요).

그런 다음 서버 측에서 업로드된 자격 증명을 얻기 위해 비즈니스 코드를 배포하고 wx.request를 통해 토큰을 요청합니다.

var that = this;
 
wx.request({
 
 url: 'https://xxx/token',
 
 method: 'POST',
 
 data: {},
 
 header: {
 
  'content-type':'application/x-www-form-urlencoded'
 
 },
 
 success: function(res) {
 
   that.token = res.data; //默认返回一个token,赋值给已经有的token属性。这里只是示例,具体根据需求可自行设定。
 
 },
 
 fail:function (res) {
 
  console.log(res)
 
 }
 
})

Qiniu 바우처 코드 배포 방법에 대한 자세한 내용은 http://78re52.com1.z0.glb.cloudd...%9C%8D%E5%8A%A1.pdf

를 참조하세요. 바우처를 사용하면 업로드된 wx .uploadFile을 전달할 수 있습니다. 구체적인 코드는 다음과 같습니다.

var that = this;
 
 var key = Math.random().toString(36).substr(2); //生成一个随机字符串的文件名
 
 wx.uploadFile({
 
  url: 'https://up.qbox.me',
 
  filePath: flie,
 
  name: 'file',
 
  formData:{
 
   'token': that.token,//刚刚获取的上传凭证
 
   'key': key//这里是为文件设置上传后的文件名
 
  },
 
  success: function(r){
 
   var data = r.data;//七牛会返回一个包含hash值和key的JSON字符串
 
   if(typeof data==='string')data = JSON.parse(data.trim());//解压缩
 
   if(data.key){
 
    ... //这里就可以直接使用data.key,文件已经上传成功可以使用了。如果是图片也可以直接通过image调用。
 
   }
 
  },
 
  fail:function (res) {
 
   console.log(res)
 
  }
 
 })

이 방법을 사용하면 Android에서 파일을 업로드할 수 없는 문제가 마침내 해결되었습니다. 물론 자체 서버를 업로드하는 문제는 여전히 해결되어야 합니다.

그러나 여전히 솔루션이 시급한 개발자에게는 실행 가능한 솔루션을 제공합니다.

타사 이미지 소스 또는 스토리지 소스를 사용하는 것은 이제 일반적인 솔루션입니다. Qiniu, Youpaiyun 및 Wanxiang Youtu와 같은 많은 스토리지 소스는 개발자가 사용할 수 있는 무료 공간을 제공합니다.

모두가 더 많은 구조를 하고 이 영역에서 시도해 보는 것이 좋습니다.

관련 추천:

WeChat 애플릿 개발 시 게시 요청에 대한 자세한 설명

WeChat 애플릿의 풀다운 로딩 및 풀업 새로 고침 구현에 대한 자세한 설명

위 내용은 위챗 미니 프로그램 개발시 업로드가 안되는 문제에 대한 해결 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.