Reactjs 在“新建”选项卡中全屏显示图像
我正在尝试将从后端提供的PDF和JPG文件显示到用户web浏览器中的新选项卡上。下面的代码适用于PDF文件(在新选项卡中打开它们,大小可调),但它会自动下载JPG文件 我已经考虑过嵌入图片,并在新的标签页和一些react软件包中全屏显示,但我很好奇是否有更好的方法来实现这一点Reactjs 在“新建”选项卡中全屏显示图像,reactjs,Reactjs,我正在尝试将从后端提供的PDF和JPG文件显示到用户web浏览器中的新选项卡上。下面的代码适用于PDF文件(在新选项卡中打开它们,大小可调),但它会自动下载JPG文件 我已经考虑过嵌入图片,并在新的标签页和一些react软件包中全屏显示,但我很好奇是否有更好的方法来实现这一点 openFile(file) { var url = url/path/to/backend/request; window.open(url, this.state.song.Title) } 如何强制JPG文
openFile(file) {
var url = url/path/to/backend/request;
window.open(url, this.state.song.Title)
}
如何强制JPG文件像PDF文件一样显示在新选项卡中?首先,window.open()
是一种简单的方法:它绕过了正常的浏览器导航系统,因此您确实想用target=“\u blank”
构建一个a
,这将在尊重用户的同时做同样的事情
(将其样式设置为display:none
,记住将其添加到文档中,然后调用a。单击(),然后再次删除它)
这就是说,浏览器根据mime类型决定是显示还是下载,因此请确保您的服务器使用适当的mime类型响应您希望用户在浏览器中看到的文件,而不是下载的文件(例如,不要使用应用程序/octet流发送图像),例如,window.open()
是一种卑鄙的方法:它绕过了正常的浏览器导航系统,因此您真的想用target=“\u blank”
构建一个a
,这将在尊重用户的同时做同样的事情
(将其样式设置为display:none
,记住将其添加到文档中,然后调用a。单击(),然后再次删除它)
这就是说,浏览器根据mime类型决定是显示还是下载,因此请确保您的服务器使用适当的mime类型响应您希望用户在浏览器中看到的文件,而不是下载的文件(例如,不要使用应用程序/octet流
)窗口发送图像,如果下载文件,请检查url的响应标题内容类型
是否设置正确,它应该是image/jpeg
或image/png
等,这取决于您的图像格式
您可以在终端中使用curl
,也可以使用chrome developer工具来查找它。如果您使用curl
,请尝试运行curl-I-X GET“your image url”
以查找您的响应标题。您应该得到如下输出:
HTTP/2200
服务器:nginx/1.12.2
日期:2019年7月14日星期日16:26:25 GMT
内容类型:image/svg+xml
内容长度:5501
窗口。打开
应该可以正常工作,如果下载文件,请检查url的响应标题内容类型
设置是否正确,它应该是图像/jpeg
或图像/png
等,这取决于您的图像格式
您可以在终端中使用curl
,也可以使用chrome developer工具来查找它。如果您使用curl
,请尝试运行curl-I-X GET“your image url”
以查找您的响应标题。您应该得到如下输出:
HTTP/2200
服务器:nginx/1.12.2
日期:2019年7月14日星期日16:26:25 GMT
内容类型:image/svg+xml
内容长度:5501
是image/jpeg
不是,我修正了打字错误。是image/jpeg
不是,我修正了打字错误。