Commit 4dba979df8221b2bc05aa9474487ffd2bb559cc6
Merge branch 'fix/save-thumbnail-image' into 'main_dev'
fix: 修改大屏保存缩略图保存不了图片 See merge request yunteng/thingskit-view!115
Showing
2 changed files
with
37 additions
and
3 deletions
| ... | ... | @@ -91,7 +91,7 @@ export const saveDataViewList = (data: object) => { | 
| 91 | 91 | */ | 
| 92 | 92 | export const uploadFile = async (file: FormData, mode: ErrorMessageMode = 'modal') => { | 
| 93 | 93 | return defHttp.post( | 
| 94 | - { url: Api.FILE_UPLOAD, params: file }, | |
| 94 | + { url: Api.FILE_UPLOAD, params: file}, | |
| 95 | 95 | { | 
| 96 | 96 | errorMessageMode: mode | 
| 97 | 97 | } | ... | ... | 
| ... | ... | @@ -33,6 +33,8 @@ const option = shallowReactive({ | 
| 33 | 33 | dataset: '' | 
| 34 | 34 | }) | 
| 35 | 35 | |
| 36 | + | |
| 37 | + | |
| 36 | 38 | const getStyle = (radius: number) => { | 
| 37 | 39 | return { | 
| 38 | 40 | borderRadius: `${radius}px`, | 
| ... | ... | @@ -40,12 +42,44 @@ const getStyle = (radius: number) => { | 
| 40 | 42 | } | 
| 41 | 43 | } | 
| 42 | 44 | |
| 45 | +async function getBase64(imgUrl: string): Promise<string> { | |
| 46 | + return new Promise(resolve => { | |
| 47 | + let xhr = new XMLHttpRequest(); | |
| 48 | + xhr.open('get', imgUrl, true); | |
| 49 | + xhr.responseType = 'blob'; | |
| 50 | + xhr.onload = function() { | |
| 51 | + if (this.status == 200) { | |
| 52 | + //得到一个blob对象 | |
| 53 | + let blob = this.response; | |
| 54 | + // 重点2 | |
| 55 | + let oFileReader = new FileReader(); | |
| 56 | + oFileReader.onloadend = function(e) { | |
| 57 | + // 结果 | |
| 58 | + const base64 = e.target?.result as string | |
| 59 | + resolve(base64) | |
| 60 | + }; | |
| 61 | + oFileReader.readAsDataURL(blob); | |
| 62 | + } | |
| 63 | + }; | |
| 64 | + xhr.send(); | |
| 65 | + }) | |
| 66 | +} | |
| 67 | + | |
| 43 | 68 | // 编辑更新 | 
| 44 | 69 | watch( | 
| 45 | 70 | () => props.chartConfig.option.dataset, | 
| 46 | - (newData: any) => { | |
| 71 | + async (newData: any) => { | |
| 72 | + // const base64 = await getBase64(newData) | |
| 73 | + // option.dataset = base64 | |
| 74 | + const reg = /^https?/ig | |
| 75 | + if(reg.test(newData)){ | |
| 76 | + const base64 = await getBase64(newData) | |
| 77 | + option.dataset = base64 | |
| 78 | + return | |
| 79 | + } | |
| 47 | 80 | option.dataset = newData | 
| 48 | - }, | |
| 81 | + | |
| 82 | + }, | |
| 49 | 83 | { | 
| 50 | 84 | immediate: true | 
| 51 | 85 | } | ... | ... |