یکی از موارد مشکل در زبان های اسکریپتی آپلود فایل هستش
یه راه حل ساده یادتون میدم
میتونید با گرفتن base64 یک تصویر و انتقال آژاکس (آژاکس کلاسیک) و آن طرف سمت سرور با کد asp classic دریافت و تبدیل Base64 به تصویر
این کل داستان آپلود بود
یکی از موارد مشکل در زبان های اسکریپتی آپلود فایل هستش
یه راه حل ساده یادتون میدم
میتونید با گرفتن base64 یک تصویر و انتقال آژاکس (آژاکس کلاسیک) و آن طرف سمت سرور با کد asp classic دریافت و تبدیل Base64 به تصویر
این کل داستان آپلود بود
فیال سمت کلاینت :
<% @ Language=VBScript CodePage = 65001%>
<html dir="rtl">
<center>
<head>
<title> جداسازی تصویر امضاء </title>
<link rel="stylesheet" type="text/css" href="Css/NezamMohandesi.css" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="fa">
<script type="text/javascript">
function Save(namefile)
{
//alert(namefile);
var base6464=document.getElementById("Pice1").value ;
var da = new Date();
var Randd= da.getMilliseconds();
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var strArray=xmlhttp.responseText.split('^');
alert(strArray[1]);
}
}
base6464= base6464.replace(/;/gi, "^");
alert(base6464);
xmlhttp.open("POST","AjaXUp.asp?Randd="+Randd+"&Fi leName="+namefile,true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send("base64="+encodeURIComponent(base6464 ));
}
function previewFile() {
var base64data ;
var image = document.getElementById('MYPIC');
var Info = document.getElementById('Info');
var file = document.querySelector('input[type=file]').files[0];
var reader = new FileReader();
var width ,height ;
if((file.size)<=204800){
if (file) {
if ( /\.(jpe?g|png|gif)$/i.test(file.name) ) {
reader.readAsDataURL(file);
reader.onloadend = function() {
base64data = reader.result;
document.getElementById('Pice1').value = base64data ;
image.src = base64data;
Info.innerHTML = "مشخصات تصویر :: عرض = "+ image.clientWidth+ " :: ارتفاع = "+image.clientHeight + " :: سایز = " +(Math.round(parseInt(file.size) / 1024)).toString()+" KB :: نام فایل = "+file.name;
onPreloadComplete(0,0)
}
}
else{alert("این نوع فرمت تصویر قابل قبول نمیباشد");}
}
}
else{alert('اندازه فایل غیر مجاز است. حداکثر 200 کیلو بایت');}
}
</script>
</head>
<body >
<input type="text" id="Pice1" >
<table>
<tr>
<th colspan="2" >1 - انتخاب تصویر اسکن شده : <input type="file" class="inputBig" onchange="previewFile()"> </th>
</tr>
<tr><td colspan="2" ><span id="Info" ></span></td></tr>
<tr><td colspan="2" >3 - <input type="button" class="bg7" value=" ثبت تصویر " onclick="Save('Farzan.jpg');" > </td></tr>
<tr><td colspan="2" ><img id="MYPIC" ></td></tr>
</table>
</body>
</center>
</html>
فایل دوم سمت سرور :
<% @ Language=VBScript CodePage = 65001%>
<%
Function SaveToBase64 (base64String)
Set Doc = Server.CreateObject("MSXML2.DomDocument")
Set nodeB64 = Doc.CreateElement("b64")
nodeB64.DataType = "bin.base64"
nodeB64.Text = Mid(base64String, InStr(base64String, ",") + 1)
dim bStream
set bStream = server.CreateObject("ADODB.stream")
bStream.type = 1
call bStream.Open()
call bStream.Write( nodeB64.NodeTypedValue )
call bStream.SaveToFile("E:\newsign\nezam" +"\"+request.querystring("FileName"), 2 ) 'Server.MapPath(".")
call bStream.close()
set bStream = nothing
response.write "^"+"OK Send"
end function
SaveToBase64(Replace(request("base64"),"^",";"))
%>
یکمی هم بهشون اماکنات دادم. خیلی راحت و فوری هستش
شمارو از کدهای فراوان قدیم خلاص میکنه