(url, name, type, _ext)
| 12265 | } |
| 12266 | |
| 12267 | function getRightSaveName(url, name, type, _ext) { |
| 12268 | /* |
| 12269 | 0: i18n("default"), |
| 12270 | 1: i18n("textFirst"), |
| 12271 | 2: i18n("onlyUrl"), |
| 12272 | 3: i18n("urlAndText") |
| 12273 | */ |
| 12274 | type = parseInt(type || 0); |
| 12275 | if (name) name = name.split("\n")[0].replace(/.*?\/\/[^\/]+\//, "").replace(/\?.*/, "").replace(/^data:.*/, ""); |
| 12276 | if (!url.replace || url.indexOf("data:") === 0) url = ""; |
| 12277 | url = url.replace(/.*?\/\/[^\/]+\//, ""); |
| 12278 | let nameFromUrl = url.match(/.*?([^\/\?\=\&]+)\.\w{2,5}(\?|@|$).*/, "$1"); |
| 12279 | nameFromUrl = nameFromUrl ? nameFromUrl[1] : ""; |
| 12280 | if (/\=&/.test(nameFromUrl)) { |
| 12281 | nameFromUrl = ""; |
| 12282 | } else { |
| 12283 | try { |
| 12284 | nameFromUrl = decodeURIComponent(nameFromUrl); |
| 12285 | } catch (e) {} |
| 12286 | } |
| 12287 | let ext; |
| 12288 | if (_ext && /^\w{2,5}$/.test(_ext)) { |
| 12289 | ext = "." + _ext; |
| 12290 | } else { |
| 12291 | ext = url.match(/(\.\w{2,5})(\?|@|$)/); |
| 12292 | if (ext) { |
| 12293 | ext = ext[1]; |
| 12294 | } |
| 12295 | } |
| 12296 | switch (type) { |
| 12297 | case 1: |
| 12298 | name = (name || nameFromUrl || "image").substr(-200); |
| 12299 | break; |
| 12300 | case 2: |
| 12301 | name = (nameFromUrl || url || "image").substr(-200); |
| 12302 | break; |
| 12303 | case 3: |
| 12304 | if (nameFromUrl && !name) { |
| 12305 | name = nameFromUrl.substr(-200); |
| 12306 | } else if (nameFromUrl && name) { |
| 12307 | name = nameFromUrl.substr(-200) + " - " + name.substr(-200); |
| 12308 | } else if (!nameFromUrl && !name) { |
| 12309 | name = "image"; |
| 12310 | } |
| 12311 | break; |
| 12312 | default: |
| 12313 | name = (nameFromUrl || name || "image").substr(-200); |
| 12314 | break; |
| 12315 | } |
| 12316 | return name.replace(/.*?\/([^\/\?]+?)(\?|@|$).*/, "$1").replace(/[\*\/:<>\?\\\|]/g, "").replace(/\.\w{2,5}$/, "").trim() + (ext || ".png"); |
| 12317 | } |
| 12318 | |
| 12319 | function canonicalUri(src, href, basePath) { |
| 12320 | if (!src) { |
no outgoing calls
no test coverage detected