尝试拍照并将其上传到firebase存储空间。
这是我的代码;
import { Camera, CameraOptions } from '@ionic-native/camera';
async takePhoto() {
try{
const options: CameraOptions = {
quality: 50,
targetHeight: 600,
targetWidth: 600,
destinationType: this.camera.DestinationType.DATA_URL,
encodingType: this.camera.EncodingType.JPEG,
mediaType: this.camera.MediaType.PICTURE
}
const result = await this.camera.getPicture(options);
const image= `data:image/jpeg;based64,${result}`;
const pictures=storage().ref(`ProfilePictures/${this.myUid}`);
pictures.putString(image, `data_url`);
}
catch(e) {
console.error(e);
}
}
但是它上传了一个实际上不是图像的文件。它上传了一个损坏的文件,即使我下载它,我也无法打开它,因为它不是图像。
这是我的firebase存储空间
感谢阅读请帮助我
答案 0 :(得分:0)
这可能不是您的问题,因为很难说具体问题是什么,但我过去在图片上传方面遇到过类似的问题,请尝试以下方法:
let result = await this.camera.getPicture(options);
result = result.replace(/(\r\n|\n|\r)/gm,"");
const image= `data:image/jpeg;based64,${result}`;
.replace(/(\r\n|\n|\r)/gm,"")
从返回的数据中删除所有换行符。
希望这有帮助。
答案 1 :(得分:0)
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class StoreReceiveOrderRequest extends FormRequest
{
public function rules()
{
$rules = ['is_follow_up'=>'required',
];
if (Input::get('is_follow_up')=='n') {
$rules += [
'note'=>'max:300'
];
}
}
}
这就是我解决问题的方式