如果可能的话,我需要能够在纯 HTML/JavaScript 中执行此操作(我的服务器不允许任何服务器端处理)。
这不能在 客户端 纯 JavaScript/HTML 中完成。
您需要某种形式的服务器端处理,例如 PHP 或在服务器上运行的其他东西。
一般来说,我认为您稍后在查看代码时会感到困惑。例如,您(或其他审查代码的开发人员)可能认为这是一个拼写错误,然后想将 .html 更改为 .jpg 或 .png
话虽如此,您正在尝试做的事情可以通过以下方式完成:
服务器端处理 (JavaScript)
wakanda 应用程序可以有自定义 HTTP Request Handlers。这种方法将是纯 JavaScript,但它需要服务器端处理。
这是一个返回图像的 JavaScript 函数:
function doReturnImage(request, response) {
var varImage = application.loadImage(application.getFolder().path+'WebFolder/'+'myPict.png');
response.contentType = 'image/png';
return varImage;
}
假设上面的函数是在 boot.js 中定义的,那么这里是请求处理程序用addHttpRequestHandler调用上面的函数:
addHttpRequestHandler("/page2.html", "boot.js" , "doReturnImage");
服务器端处理(替代)
4d-database 在On Web Connection 数据库方法中具有以下代码:
// On Web Connection
C_TEXT($1;$2;$3;$4;$5;$6)
C_TEXT($url_t)
$url_t:=$1
Case of
: ($url_t="/page2.html")
// return an image for this html request
$folder:=Get 4D folder(Database folder)
WEB SEND FILE($folder+"bird.png")
End case
在上面4D代码的sn-p中,对/page2.html的请求会导致文件bird.png被发送到浏览器。这将允许您使用page2.html 作为src 的img 标签,如下所示:
<img src="page2.html">
这种方法需要服务器端处理。
here提出了类似的问题