怎么用.net的upload控件上传指定的文件?

bdgyz 2002-12-15 07:05:36
不让用户选择上传的文件,由客户端程序获得后提交给服务器端。
但是无法上传成功。
那位大虾帮助解决一下?谢了
...全文
73 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
tangjun 2002-12-16
  • 打赏
  • 举报
回复
收藏
csdn_bob 2002-12-16
  • 打赏
  • 举报
回复
killerwc说得对!
ouyang76cn 2002-12-16
  • 打赏
  • 举报
回复
ms.net自带的控件是不能在代码里指定文件名的。
只能让用户来选择上传文件。

在b/s项目里,如果你要在代码里上传指定文件。最好用ocx,
Oldman 2002-12-15
  • 打赏
  • 举报
回复
控件所在的form 的Property是否该成了下面的形式,encType的形式是不是这样的:
<form id="Form1" method="post" encType="multipart/form-data" runat="server">
<INPUT id="FileUp" style="Z-INDEX: 106; LEFT: 26px; WIDTH: 370px; POSITION: absolute; TOP: 159px; HEIGHT: 22px" tabIndex="2" type="file" size="42" name="FileUp" runat="server">
</form>

在服务器端的代码就大致如下了:
Dim oFile As HttpPostedFile = FileUp.PostedFile
oFile.SaveAs("c:\XXx.XX")
killerwc 2002-12-15
  • 打赏
  • 举报
回复
问题说得很不清楚
上传不成功可能有很多原因
有可能form德enctype没有设置正确
有可能你的文件过大
还有可能aspnet用户没有服务器段存储上载文件的目录的写权限
等等
最好列出你的源代码
和详细的错误信息
yirenboy 2002-12-15
  • 打赏
  • 举报
回复
给个实例:
ONCLICK事件里进行操作!
/////////////////////////////////////////////////////////////////
// 获取上传文件名
string strPhotoName = upload.PostedFile.FileName.ToString();
// 获取相对地址
string strPhotoNameMapPath = Server.MapPath ( "../../Photo/" ); strPhotoName = System.IO.Path.GetFileName( strPhotoName );

// 文件的全地址
string strFullFileName = strPhotoNameMapPath+strCompanyName+"\\"+strPhotoName;

// 图片存入数据库的地址
string strPhotoPath = strCompanyName+"/"+strPhotoName;

// 文件的存放文件夹地址
string strMapPath = strPhotoNameMapPath + strCompanyName;

// 判断上传文件夹是否存在
if ( System.IO.Directory.Exists( strMapPath ) )
{
// 判断该图片已经上传
if( System.IO.File.Exists ( strFullFileName ) )
{
Response.Write( "该文件已经存在!" );
}
else
{
// 进行上传操作
upload.PostedFile.SaveAs( strFullFileName );
// 把文件地址放到数据库中
strSqlUserInfo="execute sp_tbPhoto_AddPhoto @strBlockID='"+strBlockID+"',@strCompanyID='"+strCompanyID+"',@strChild='"+strChild+"',@strCheckLink='"+strCheckLink+"',@strTitle='"+strTitle+"',@strPhotoType='"+strPhotoType+"',@strPhotoPath='"+strPhotoPath+"',@strLinkPath='"+strPhotoPath+"'";
clsCommon clsCom=new clsCommon();

// 采用WebService进行操作,你的可以用的方式来更新数据库!
Boolean dsRetu=clsCom.UpdateData(clsCommon.strCondbMemorabilia.ToString(),strSqlUserInfo);
Response.Redirect( "wfmPhotoAdd.aspx" );
}
}
else
{
// 创建文件夹
System.IO.Directory.CreateDirectory ( strMapPath );
upload.PostedFile.SaveAs( strFullFileName );
}

注意前台:
<form id="add" method="post" runat="server" enctype="multipart/form-data">
bdgyz 2002-12-15
  • 打赏
  • 举报
回复
用的是ms.net自带的控件,就是这个<input type="file" ....>
服务器端代码是这样写的:

file.value= tmpFile;//tmpFile是有自己算出来的,不是用户点击浏览选择上传的

file.postedFile.SaveAs(targetFile);// 但是这样好像根本不行.


ouyang76cn 2002-12-15
  • 打赏
  • 举报
回复
你是用嵌入页面的ocx提交文件的吗.你说的不是很清楚

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧