Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中设置背景图像时如何访问本地图像_Javascript_Html_Css_Angularjs_Image - Fatal编程技术网

在javascript中设置背景图像时如何访问本地图像

在javascript中设置背景图像时如何访问本地图像,javascript,html,css,angularjs,image,Javascript,Html,Css,Angularjs,Image,我的目标是从计算机上的本地图像设置背景图像 我有两行代码,一行有效,一行无效: (本地的不起作用) 当我尝试运行第二个(本地)时,我得到的错误是: 获取404(未找到) 我可以验证映像路径是否正确,即使我将映像文件放在同一目录中以简化操作。我从文档中知道JS中的backgroundImage属性需要url()。是否有任何原因导致此操作不起作用?浏览器无法识别主目录的~缩写。但是,仅当映像位于本地主机上正在提供服务的目录中时,扩展它才有帮助。我不知道您在web服务器上使用的是什么,但您需要找出它希

我的目标是从计算机上的本地图像设置背景图像

我有两行代码,一行有效,一行无效: (本地的不起作用)

当我尝试运行第二个(本地)时,我得到的错误是:

获取404(未找到)


我可以验证映像路径是否正确,即使我将映像文件放在同一目录中以简化操作。我从文档中知道JS中的backgroundImage属性需要url()。是否有任何原因导致此操作不起作用?

浏览器无法识别主目录的
~
缩写。但是,仅当映像位于本地主机上正在提供服务的目录中时,扩展它才有帮助。我不知道您在web服务器上使用的是什么,但您需要找出它希望用作其根目录的目录

您不能引用来自用户计算机的映像。浏览器无法访问用户文件系统,否则,您访问的任何网站都可以访问您的“图片”文件夹


您使用的图像必须位于您的网站目录或其他公共url中。如果您需要使用来自用户计算机的图片,那么您应该使用文件上传程序来完成此操作。

这是一个棘手的问题。。。我能想到一些问题:

  • 服务器不知道~指的是什么(您正在运行windows吗?)
  • 运行服务器的用户与您登录的用户不同。(~代表主目录,当服务器计算时,它将导致用户运行服务器主目录)
  • 服务器配置为忽略其www/html/localweb文件夹上方的每个请求。(虽然在这种情况下,用404回答会很奇怪,但用403回答会更有意义)

  • 顺便说一句,只有当服务器和客户机在同一台机器上时,这才可能实现。我不知道你为什么想要它,但如果你假装上传一个网站,并将其背景设置为客户端计算机上的某个字段,那么就干脆忘了它。

    如果你把它放在浏览器中,你会得到什么?我假设使用/~/是不正确的。找不到资源。描述:HTTP404。您正在查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请检查以下URL并确保其拼写正确。如果您在,项目位于哪个文件夹中?看起来您正在使用asp.net。在这种情况下,您需要先转换相对url
    ~
    ,然后再将其传递回客户端。否则,url中通常不使用
    ~
    ,因此您需要找到图像的正确路径。
                    _html.style.backgroundImage = 'url("urlsourceblahblahblah")';
                    _html.style.backgroundImage = 'url("/~/Content/images/Image1.jpg")';