记小程序上传文件遇到的坑

1、Andrio手机,拍照时选原图,出现"unknown"扩展名,不选原图正常。
2、header不设置’content-type’: ‘multipart/form-data’,上传的是临时路径,没有文件。

// 选择图片
chooseImage(){
	let that=this
	uni.authorize({
		scope: 'scope.camera',
		success() {
			console.log('camera授权成功')
			uni.chooseImage({
				count: 1, //默认9
				sizeType: ['compressed'], //可以指定是原图还是压缩图,默认二者都有 ['original', 'compressed']
				sourceType: ['album','camera'], //从相册选择或拍照
				success: function (res) {
					console.log('从相册选择或拍照');
				    console.log(res.tempFilePaths[0]);
				    let imgUrl=res.tempFilePaths[0]
				    that.imgUrl=imgUrl
					that.imgUpload()
				}
			});
		}
	})			
},
imgUpload(){
	let that=this
	uni.showLoading({
		title:'加载中'
	})
	uni.uploadFile({
		url: that.$api.api.imageSearchF,
		filePath: that.imgUrl,
		name: 'file',
		header:{
			'Accept': 'application/json',
			'content-type': 'multipart/form-data'
		},
		formData: {
			'file': '(binary)'
		},
		success: (res) => {
			uni.hideLoading();
			console.log(res);
			if(res.statusCode!='500'){
				console.log(JSON.parse(res.data))
				let resData=JSON.parse(res.data)
				that.$bus.$emit('getResult',resData,'image',that.imgUrl)
			}else{
				uni.showToast({
					title:'系统错误请联系管理员',
					icon:'none',
					duration: 2000
				})
			}
		},
		fail: (res)=> {
			uni.hideLoading();
		}
	});
},

你可能感兴趣的:(前端)