Я разрабатываю приложение реагирования, упакованное в электронное приложение, которое должно загружать его содержимое из inte rnet. Затем этот контент сохраняется в папке данных. Большую часть времени это работает просто отлично. Я должен уделить внимание правильной настройке URL-адресов, иначе он перестанет работать при переходе между Windows и Ma c, но, потратив немного времени и внимания, я смогу заставить его работать на обоих.
Все это сейчас остановился, потому что мне нужно использовать изображение в качестве фона. Мой код прекрасно работает на Ма c, разрывы на windows. Я проверил вывод моего кода, он выдает правильный путь к соответствующему файлу. Я даже могу скопировать и вставить это в браузер, и фоновое изображение загружается просто отлично. По какой-то причине код css искажает результаты - и я действительно имею в виду «искажение», удаление косой черты, создание странных выходов, вставку мусорных символов в странных местах. Когда я использую отладчик, я вижу и мои console.log()
выходные данные с действительным URL-адресом, и ошибку 404, когда браузер пытается полностью получить другой URL-адрес. Вы можете видеть, что он начинался как целевой URL, но он был преобразован способами, которые я не понимаю.
Следующий код значительно упрощен - он не включает, например, фактически структура каталогов моего приложения в вызове path.join ().
var fullPath = path.join(AppDataFolder, 'stuff', filename)
var url = url.format({ pathname: fullPath, protocol: 'file', slashes: true })
//Url, if printed, is file:///c:\app\data\dir\rental\file.suffix -- the right output
<div style={{ backgroundImage: `url(${url})` }}>
</div>
//Use the debugger on the result above, and you get an error 404ing on:
//file:///C:/appdatadir%E3%89%83%0garbagefilesuffix
Если вместо этого я поместил цель в тег изображения, <img src={target} />
, она отлично работает, и Windows & Ma c.
Что я делаю не так? Как мне это исправить?