當前位置:首頁 » 文件傳輸 » u3d發布到web別人能訪問嗎
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

u3d發布到web別人能訪問嗎

發布時間: 2023-03-10 19:17:49

Ⅰ 你好,我的unity3d可以訪問txt文件的內容,但是導出為web文件後無法訪問

引用了微軟的類庫後建成web文件(html)會出錯,可以建成pc mac linux alone文件.u3d的文檔里這樣說的
所以,你如果訪問txt,最好用u3d自帶的類庫來編寫(包含了.net2.0)這樣無論什麼平台都能發布
有選擇性的支持netframework真的讓人迷茫

Ⅱ 為什麼unity發布web之後無法在本地嬉桓鰔ml文件

【方法一】localStorage

localStorage是按照鍵值對的方式讀取

存儲時:localStorage[key] = value;

讀取時:value=localStorage[key];

保存後,即使頁面關閉,下次打開頁面也可以直接讀取;缺點是並非保存文件,無法直接訪問。

Ref: http://www.cnblogs.com/xiaowei0705/archive/2011/04/19/2021372.html

http://blog.csdn.net/dojotoolkit/article/details/6614883

【方法二】execCommand(「saveas」)

這種方法用來保存文件的代碼詳見:http://4umi.com/web/javascript/filewrite.php

其html部分是:

[html] view plain
<form action="#" onsubmit="return savefile(this);">
<textarea name="txt" title=" Text edit area - Alt+Z " accesskey="z" rows="10" cols="80">123</textarea>
<div>
<input title=" Save - Alt+S " class="key" accesskey="s" type="submit" value=" Save ">
<label title=" Filename - Alt+A " for="filename">As</label>
<input name="filename" class="it" id="filename" accesskey="a" type="text" size="40" value="D:\MazeSet\1">
<select name="ext" title=" Extension ">
<option value="iso-8859-1">.html</option>
<option selected="selected" value="utf-8">.txt</option>
</select>
<input title=" Remove null bytes - Alt+U " class="key" accesskey="u" onclick="this.form.elements.txt.value = unnull( this.form.elements.txt.value );" type="button" value=" Unnull ">
<input title=" Reset the form to its initial state - Alt+R " class="key" accesskey="r" type="reset" value=" Reset ">
</div>
</form>

其缺點是瀏覽器的支持不好,我用的IE11(偶有更新強迫症)可以運行(啟用ActiveXObject),Chrome不行,可見Chrome安全性更高.
execCommand()還有很多其他用法,Ref: http://www.jsann.com/post/JS_execCommand_method.html

【方法三】File API

File API是html5新標准,既可以讀文件,也可以寫文件,注意這里的

讀文件:OS中文件系統中的文件 讀到
瀏覽器頁面 中

寫文件:將 瀏覽器頁面數據 寫到
瀏覽器文件系統 中

參見博客:http://www.html5rocks.com/en/tutorials/file/dndfiles/

其中講解很詳細,不過讀文件時用的是讀圖片。這里貼一份讀文本的代碼

[html] view plain
<html>
<head>
<script type="text/javascript" src="ReadTest.js">
var a=new Array();

function handleFileSelect(evt) {
var files = evt.target.files; // FileList object
if(files[0])
{
var reader = new FileReader();
reader.readAsText(files[0]);
reader.onload = loaded;
}
}

function loaded(evt) {
var fileString = evt.target.result;
alert(fileString);
}
</script>
</head>
<body>
<input type="file" id="file" name="files[]" multiple />
<script type="text/javascript">
var btn=document.getElementById('file');
btn.addEventListener('change', handleFileSelect, false);
</script>
</body>
</html>

讀文件用到FileReader介面,寫文件使用FileWriter,寫文件是要將 頁面數據 寫入到 瀏覽器的文件系統(root)
中,而我需要的是保存到
OS的文件系統中,所以採用另一種方法:先用BlobBuilder把要寫入的數據合成Blob,創建表示Blob的URL,再根據不同瀏覽器選擇保存策
略,實際就是下載文件

JS文件:

[javascript] view plain
function doSave(value, type, name) {
var blob;
if (typeof window.Blob == "function") {
blob = new Blob([value], {type: type});
} else {
var BlobBuilder = window.BlobBuilder || window.MozBlobBuilder || window.WebKitBlobBuilder || window.MSBlobBuilder;
var bb = new BlobBuilder();
bb.append(value);
blob = bb.getBlob(type);
}
var URL = window.URL || window.webkitURL;
var bloburl = URL.createObjectURL(blob);
var anchor = document.createElement("a");
if ('download' in anchor) {
anchor.style.visibility = "hidden";
anchor.href = bloburl;
anchor.download = name;
document.body.appendChild(anchor);
var evt = document.createEvent("MouseEvents");
evt.initEvent("click", true, true);
anchor.dispatchEvent(evt);
document.body.removeChild(anchor);
} else if (navigator.msSaveBlob) {
navigator.msSaveBlob(blob, name);
} else {
location.href = bloburl;
}
}

var a=new Array();
for(var i=0;i<10;i++)
a.push(i);

function Save(){
doSave(a, "text/latex", "hello.txt");
}
HTML文件:
[html] view plain
<!DOCTYPE html>
<html>
<head>
<script type='text/javascript' src="SaveBlob.js"/>
</head>
<body>
<input type="button" id="savetext" value="Save" onclick="Save()"/></div>
</body>
</html>

Ⅲ 我用unity3d導出了web運行文件,共兩個的(如圖)。請問將它們上傳自己的網站上,如何讓別人運行看到

有圖么,怎麼我沒有看到,建議先本地調試,前提是與伺服器的IIS設置類似。