Jamie888 Ответов: 1

HTML-код фона URL-адрес изображения гигантских


Привет, у меня есть div, в котором я буду размещать фоновое изображение позади, где я могу выбрать любое изображение с моего локального компьютера. Я попытался сохранить URL-адрес в своей БД при нажатии кнопки, чтобы получить путь к изображению в следующий раз, когда я загружу страницу, без необходимости снова импортировать изображение с моего компьютера.
Но я обнаружил, что URL-путь очень огромен. Например, у меня есть изображение в пути к рабочему столу(C:\Desktop\Image1.jpg). Но когда я попытался получить это значение с помощью javascript:
var bg = $(this).css('background-image');
bg = bg.replace('url(','').replace(')','').replace(/\"/gi, "");

, он стал супер огромным url-адресом с общим количеством символов 200k plus, где я не могу его сохранить.

Что я уже пробовал:

1. Посмотрите в интернете на предложение, но все они используют аналогичный способ получения URL-адреса изображения. Единственное отличие заключается в том, что онлайн-статья получает URL-адрес веб-сайта вместо локального пути к изображению ПК.

lw@zi

ЭМ...если вы загружаете файл в базу данных или куда-то еще, URL-адрес должен исходить с сервера, верно? Это также означает, что вы сами решаете URL-адрес. Вы отправляете изображение в виде строки base64?

Jamie888

я не совсем уверен, сэр. Из проверки элемента F12 фоновое изображение является одним из атрибутов в моем div. На самом деле URL-адрес, показанный в div, - это даже не путь(например, с моего рабочего стола), а что-то вроде "%tyfhri123*(eys)?<><....", считая до 200 тысяч символов.

lw@zi

В этом случае я думаю, что вы должны искать образцы загрузки изображений для набора технологий, которые вы используете.

1 Ответов

Рейтинг:
1

Jamie888

После некоторых исследований в интернете выяснилось, что это связано с тем, что путь к изображению преобразуется в строку base64. И для того, чтобы позволить сохранить правильный путь, строка base64 должна быть декодирована обратно в обычную читаемую человеком строку. Это может быть достигнуто с помощью atob(). Пожалуйста, обратитесь к Метод window atob() [^]. Спасибо Iw@zi за вашу помощь. Пусть это предложение поможет другим, кто в нем нуждается.