私はいくつかのJavaScriptコードを書いています。ローカルで実行しているときに機能しますが、IISでホストされている場合は機能しません。また、一部のブラウザでも動作しません。あなたはJavascriptを介してクライアントマシンから画像をロードしようとしている。base64 javascriptがiisで実行されていない、一部のブラウザでも、なぜですか?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>SHOUT</title>
<script language="javascript" type="text/javascript">
var base64;
var img=document.createElement("img");
var canvas = document.createElement("canvas");
function f()
{
alert("123");
p=document.getElementById("picField").value;
alert(p);
img.setAttribute('src', p);
canvas.width = img.width;
canvas.height = img.height;
var ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0);
var dataURL = canvas.toDataURL("image/png");
// debugger;
//var dataURL = canvas.toDataURL("image/png");
var r=dataURL.replace(/^data:image\/(png|jpg);base64,/, "");
base64=r;
alert(base64);
}
function getBase64Image()
{
p=document.getElementById("picField").value;
img.setAttribute('src', p);
var canvas = document.createElement("canvas");
canvas.width = img.width;
canvas.height = img.height;
var ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0);
var dataURL = canvas.toDataURL("image/png");
var dataURL = canvas.toDataURL("image/png");
var r=dataURL.replace(/^data:image\/(png|jpg);base64,/, "");
base64=r;
alert(base64);
}
</script>
</head>
<body id="index" class="home">
<input type="file" id="picField" onchange="f()" >
<input type="submit" value="Post" class="submit" onclick="getBase64Image()"/>
</body>
</html>
その作業罰金が、IIS上で機能していない、plzは
「機能していない」とはどういう意味ですか?何かエラーがありますか? – gideon
アラート(base64)は、ローカルのbase64コード全体を表示しますが、iis上ではデータ ''しか表示されません。イメージをbase64文字列に変換しません。 –
私たちの目的は、html、javascriptのみを使用してサーバーにファイルをアップロードすることです –