ASP.NET で何かをするのはこれが初めてなので、経験豊富な ASP.NET 開発者にとっては信じられないほどばかげたことをしているのかもしれません。
状況は次のとおりです。ファイル拡張子のない GUID という名前のファイルがたくさんあります。これらを Web ブラウザーでレンダリングしたい場合があります。.pdf
ファイル拡張子を使用してファイルの名前を手動で変更すると、これはすべて正常に機能します。ASP.NET でスクリプトを作成して、要求されたときにファイルをコピーして拡張子を追加しようとしています。これが私のコードです:
<script runat="server">
dim guid = HttpContext.Current.Request.QueryString("file")
dim path = HttpContext.Current.Request.PhysicalApplicationPath
dim origin = path + guid
dim destination = origin + ".pdf"
System.IO.File.Copy(origin, destination)
</script>
<html>
<head>
<script src="jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var htmldata = "<embed src='http://myurl.com/<%=guid%>.pdf' style='width:100%; height:100%;'>";
document.getElementById('pdf').innerHTML = htmldata;
});
</script>
</head>
<body>
<span id="pdf"></span>
</body>
</html>
これにより、次のエラーがスローされます。
Description: An error occurred during the compilation of a resource required to
service this request. Please review the following specific error details and
modify your source code appropriately.
Compiler Error Message: BC30188: Declaration expected.
Source Error:
Line 6: dim destination = origin + ".pdf"
Line 7:
Line 8: System.IO.File.Copy(origin, destination)
Line 9: </script>
Line 10: <html>
C:\path\to\web\root\default.aspx(8) Line: 8
Show Detailed Compiler Output:
c:\windows\system32\inetsrv> REALLY LONG LINE THAT I'LL INCLUDE IF NEEDED
Microsoft (R) Visual Basic Compiler version 10.0.30319.233
Copyright (c) Microsoft Corporation. All rights reserved.
C:\path\to\web\root\default.aspx(8) : error BC30188: Declaration expected.
System.IO.File.Copy(origin, destination)
~~~~~~