我需要允许用户在 javascript 中查看文件,但不能通过直接链接下载文件。
我知道使用 htaccess 和更改权限将不允许这样做,因为 Javascript 是客户端。
因此剩下的唯一解决方案是只允许服务器访问文件,并通过 php 将其提供给 javascript。
目前,javascript插件迫使我向它发送一个url:
loader.load('example.stl');
外部 javascript 然后执行这个:
prototype.load = function (url, callback) {
var scope = this;
var xhr = new XMLHttpRequest();
function onloaded( event ) {
if ( event.target.status === 200 || event.target.status === 0 ) {
var geometry = scope.parse( event.target.responseText );
scope.dispatchEvent( { type: 'load', content: geometry } );
if ( callback ) callback( geometry );
} else {
scope.dispatchEvent( { type: 'error', message: 'Couldn\'t load URL [' + url + ']',
response: event.target.responseText } );
}
}
xhr.addEventListener( 'load', onloaded, false );
xhr.addEventListener( 'progress', function ( event ) {
scope.dispatchEvent( { type: 'progress', loaded: event.loaded, total: event.total } );
}, false );
xhr.addEventListener( 'error', function () {
scope.dispatchEvent( { type: 'error', message: 'Couldn\'t load URL [' + url + ']' } );
}, false );
xhr.overrideMimeType('text/plain; charset=x-user-defined');
xhr.open( 'GET', url, true );
xhr.send( null );
};
显然,javascript 文件以 XML 格式读取文件,但是,我对 Javascript 的经验不足,无法对其进行操作以满足我的需要。