بعض السيناريوهات، مثل الصور التي تم الحصول عليها بواسطة اللوحة القماشية، أو الصور التي يتم إرجاعها بواسطة WeChat Development SDK، موجودة بتنسيق data:img، نحتاج إلى تحميلها إلى الخادم، ثم نحتاج إلى تحويلها.
تحويل dataURL إلى Blob
// تحويل base64 إلى blobdataURItoBlob(dataURI) { // تحويل مكون البيانات base64/URLEncoded إلى بيانات ثنائية خام محفوظة في سلسلة Let byteString; = 0) { byteString = atob(dataURI.split(',')[1] } else byteString = unescape(dataURI.split(',')[1]); // افصل مكون التمثيل الصامت const mimeString = dataURI .split(',')[0] .split(':')[1] .split(' ;')[0]; // اكتب بايتات السلسلة في مصفوفة مكتوبة const ia = new Uint8Array(byteString.length); byteString.length; i++) { ia[i] = byteString.charCodeAt(i); } return new Blob([ia], { type: mimeString });},
نموذج تحميل نموذج البناء
const blob = dataURItoBlob(imgDataUrl); const formData = new FormData();//formData.append('auth',state.token.auth); يمكنك اختياريًا إضافة بعض المصادقةformData.append('file', blob); لتحميل البيانات، أستخدم axiosconst params = { url: '/store/file', payload:formData }; this.upload(params);
لقد قمت بتغليف المحاور
تصدير const upload = (params) => { const { url, payload } = params return axios.post(url, payload, { headers: { 'Content-Type': 'multipart/form-data' } }).then( x => x.data)}
ما ورد أعلاه هو المحتوى الكامل لهذه المقالة وآمل أن يكون مفيدًا لدراسة الجميع وآمل أيضًا أن يدعم الجميع شبكة VeVb Wulin.