У меня есть некоторый JavaScript-код для извлечения изображения и использования его в качестве текстуры для приложения WebGL.Код прекрасно работает на серверах Godaddy и локально на Mozilla и Chrome при использовании плагина веб-сервера для Chrome.Только изображения с пробелами или %20
в именах файлов на жестком диске выдают эту ошибку.Другие изображения работают просто отлично.Что я должен сделать, чтобы это исправить.Пока я заменил все %
на %25
согласно этой записи.Я использовал encodeURI()
.Любые другие предложения?заранее спасибо.Кроме того, если мне нужно получить изображение из другого домена, скажем, веб-службы, как лучше всего обновить вышеуказанную функцию, чтобы добиться этого?Потому что я легко могу изменить способ доступа к изображению через веб-сервис.
Функция WebGL, которая обновляет путь к используемому изображению, выглядит следующим образом:
function addCommmonProperties(panel) { panel updateMaterial }) .addSlider(materialConfig, 'alpha', '$alphaRange', { label: 'SomeOption1', onChange: updateMaterial })
.addNumberInput(materialConfig, '$textureTiling', { label: 'AnotherOption', onChange:
updateMaterial, step: 1.0, presets: [1,10,20,22] }) .addSelect(textureSelection, 'textureNames', { label: 'MyLabels', onChange: function (index) { var texturePath = pathToImageHere; materialConfig.diffuseMap = texturePath;// base 64 encoded image data
instead of texutrepath --> important part here!!! updateMaterial(); }, target: 'textureName' }) .addCustomComponent(__WEBPACK_IMPORTED_MODULE_7__ui_Texture__["a" /* default */], materialConfig, 'diffuseMap', { label: 'OtherOptions', onChange: changeTexture.bind(null,
'diffuseMap'), getFileName: getTextureFileName }) // .addCustomComponent(__WEBPACK_IMPORTED_MODULE_7__ui_Texture__["a" /* default */], materialConfig, 'normalMap', { label: 'YetAnotherOption', onChange: changeTexture.bind(null, 'normalMap'), getFileName:
getTextureFileName }) }