【问题标题】:Unable to show images from local file and giving error无法显示本地文件中的图像并给出错误
【发布时间】:2015-09-28 07:00:58
【问题描述】:

我想知道如何从本地系统上传文件中显示图像,因为我可以上传,但在显示上传文件中的图像时失败,因为我得到以下 错误

XMLHttpRequest 无法加载 file:///D:/Users/Desktop/Image1.nii Cross 源请求仅支持协议方案:http、data、 chrome, chrome-extension, https, chrome-extension-resource.

未捕获的错误:加载失败 未捕获的网络错误:无法在“XMLHttpRequest”上执行“发送”:加载失败 'file:///D:/Users/Desktop/Image1.nii'。

但是我可以像上面那样拖放或上传文件到:http://slicedrop.com/

【问题讨论】:

  • 文件必须在同一个域下!
  • 为什么要加载,它是一个浏览器应用程序,它不能只从本地路径加载,提供相对路径,创建图像文件夹并使用相对路径
  • @RayonDabre:哈哈!如果文件必须在同一个域下,那么用户真的需要将文件上传到服务器吗?您应该在这里说的是,上传文件的 API 必须与 API 调用域在同一个域中:)
  • 出于安全原因,浏览器无法访问您的文件系统。您可以使用 activx 对象(用于 ie)或禁用浏览器安全性,例如“chrome.exe --disable-web-security”。
  • @AdityaParab,正如问题中提到的,图像已经上传到服务器上,他正在尝试显示来自本地计算机的图像。这就是我从这个问题中得到的。如果我错了,请纠正我!

标签: javascript html filereader fileapi


【解决方案1】:

这是 CORS(跨域资源共享) 的一个示例。要禁用它,您可以在启动 Chrome 之前将这些标志提供给它 -
在 Windows 上 - chrome.exe --allow-file-access-from-files
在 OSX 上 - open /Applications/Google\ Chrome.app/ --args --allow-file-access-from-files

【讨论】:

    猜你喜欢
    • 2013-11-29
    • 1970-01-01
    • 2012-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-20
    相关资源
    最近更新 更多