在asp里面上传图片。要把Form 里面加入Enctype= "Multipart/Form-Data ",那是表示这个页面提交的是二进制数据,所以上传的时候TEXT框的数据在Server端就取不到。
但是在asp.net里面确可以在一个页面里面提交TEXT值,也可以提交图片。这是为什么?
------解决方案--------------------------------------------------------
科技进步。算不算答案?
------解决方案--------------------------------------------------------
技术更先进了!
------解决方案--------------------------------------------------------
.net 这样写
private bool UpLoadFile(FileUpload fud, string saveas, int articleId, out string message, out string fileNewName)
{
bool IsFileOK = false;
string path = Server.MapPath(saveas);
string fileExtension = System.IO.Path.GetExtension(fud.FileName).ToLower();
fileNewName = "arttran " + articleId.ToString();
fileNewName += fileExtension;
if (fud.HasFile)
{
string[] allowedExtensions = LogicLayer.SystemSettings.AllowedExtensions;
for (int i = 0; i < allowedExtensions.Length; i++)
{
if (fileExtension == allowedExtensions[i])
{
IsFileOK = true;
}
}
if (IsFileOK)
{
try
{
fud.SaveAs(path + fileNewName);
message = "文件上传成功 ";
return true;
}
catch
{
message = "文件上传失败 ";
return false;
}
}
else
{
message = "请上传合法文件 ";
return false;
}
}
else
{
message = "您没有上传任何文件 ";
return false;
}
}
------解决方案--------------------------------------------------------
二种俺都写过...大概就是远古跟现代的差别....
------解决方案--------------------------------------------------------
asp也可以读提交的二进制流的,这种上传文件的流,是有明显的标记的
,你可以查一下相关的方法
同时你可以在asp.net中用
Request.InputStream来读取输入流