我在Blade视图中显示.stl
文件,如:
var stl_viewer=new StlViewer(document.getElementById("stl_cont"), {
auto_rotate:true,
auto_resize: true,
cameray: 30,
allow_drag_and_drop:true,
models: [ {
id:0,
//It can be direct link or something it doesn't matter.
filename:"{{Storage::url($file->path)}}"
} ]
});
HTML代码为:
<div id="stl_cont" style="min-height: 400px;"></div>
当用户检查页面时,他们可以找到链接,他们可以直接下载文件。
我不希望这种事发生。
好的,我解决了base64_encode function
的问题。
首先,我发送加密URL:
$encrypted = base64_encode($file->path);
return view('product', compact('product','encrypted'));
然后我将数据放入页面上的javascript变量中。
var tboe = '{{$encrypted}}';
这个变量是全局的,我从分离的。js文件中获取变量,如:
//example
var file = atob(tboe);
我相信这会使用户难以到达文件。我找不到别的办法。