2017-02-22 26 views
0

У меня на странице моего сервера .html, расположенной на c: \ test \ test.html.Загрузите локальный html на iframe

Я хочу отобразить test.html внутри iframe на клиентской машине, как я могу это сделать?

Что я пробовал:

<iframe id="serviceFrameSend" src="file:///c:\test\test.html" width="1000" height="1000" frameborder="0"> 

Но он нашел файл test.html на клиентской машине, так как я могу сделать, что test.html будет загружен с сервера?

Если это невозможно, как я могу это сделать по-другому?

+0

Вы не можете загрузить локальный файлы с вашего компьютера через сервер. Вы должны загрузить тестовый файл на свой сервер, а затем загрузить этот файл в iframe. – Jer

ответ

1

As у вас есть страница на сервере, необходимо использовать некоторые из этих примеров:

<iframe id="serviceFrameSend" src="test.html" width="1000" height="1000" frameborder="0"> 
<iframe id="serviceFrameSend" src="./test.html" width="1000" height="1000" frameborder="0"> 

вы должны использовать это, если test.html находится в том же каталоге, что и основной-странице.

<iframe id="serviceFrameSend" src="../test.html" width="1000" height="1000" frameborder="0"> 

Вам нужно использовать это, если test.html находится в предыдущем каталоге вашей главной страницы. path/views/test/test.html и path/views/main/page.html.

<iframe id="serviceFrameSend" src="www.server.com/test/test.html" width="1000" height="1000" frameborder="0"> 

Вы должны использовать это, если вы knwo URL-адрес, чтобы открыть свой test.html.

1

Вам необходимо разместить файл "test.html" в общедоступном каталоге на сервере. Или сделать общедоступным каталог «test».

0

Вы не можете загрузить с вашего компьютера, например, c: ... Вы можете загружать только файлы с вашего сервера. Если этот файл html и файл test.html находятся в одном каталоге на вашем сервере, легко загрузите с помощью test.html, если он находится в другом каталоге, затем используйте имя каталога, например, test/test.html

+1

Этот ответ технически корректен. Хотя некоторые части, такие как * Если этот файл html, file и test.html находится в одном каталоге на вашем сервере, легко загрузить с помощью test.html *, не ясно. Редактируйте свой ответ, чтобы он лучше объяснил, что вы пытаетесь передать. – CKing

1

Вам нужно будет использовать язык на стороне сервера, такой как PHP, ASP.NET, node.js и т. Д. И создать «прокси», который получит желаемый файл в качестве параметра, прочитает файл на сервере и отправит его содержимое ,

Например, в ASP.NET вы можете иметь такой код:

Download.aspx

<script language="C#" runat="server"> 
void Page_Load(object sender, EventArgs e) 
{ 
    int id; 
    if (!Int32.TryParse(Request.QueryString["id"], out id)) 
    { 
     Label1.Text = "Missing or invalid ID"; 
     return; 
    } 

    string filePath = ""; 
    switch (id) { 
     case 1: 
      filePath = "c:\\test\\test.html"; 
      break; 
    } 

    if (filePath.Length == 0) 
    { 
     Label1.Text = "ID " + id + " does not exist"; 
     return; 
    } 

    if (!System.IO.File.Exists(filePath)) 
    { 
     Label1.Text = "Requested file '" + filePath + "' does not exist"; 
     return; 
    } 

    System.IO.FileInfo fileInfo = new System.IO.FileInfo(filePath); 
    Response.Clear(); 
    Response.WriteFile(fileInfo.FullName); 
    Response.Flush(); 
    Response.End(); 
} 
</script> 
<!DOCTYPE html> 
<html> 
<body> 
<form id="form1" runat="server"> 
    <asp:Label ID="Label1" runat="server"></asp:Label> 
</form> 
</body> 
</html> 

Тогда такой IFRAME:

<iframe id="serviceFrameSend" src="Download.aspx?id=1" width="1000" height="1000" frameborder="0"></iframe>