高分求解:上传文件失败

问题描述

各位高手,我在服务器的IIS上部署了一个网站,通过windowsapi上传文件到网络路径失败,只能上传到本地路径,怎么解决呢?系统环境是windowsserver2008R2standardSP164位操作系统,IIS版本7.0

解决方案

解决方案二:
通过windowsapi上传文件到网络路径放出你的代码来,没听说"上传"功能还需要调用API的
解决方案三:
谢谢回复,代码如下:///<summary>默认文件上传///</summary>publicvoidUploadFile(HttpFileCollectionfiles){stringfileServer=System.Configuration.ConfigurationManager.AppSettings["FileServer"];stringfileServerPath=System.Configuration.ConfigurationManager.AppSettings["FileServerPath"];stringfileServerUser=System.Configuration.ConfigurationManager.AppSettings["FileServerUser"];stringfileServerPWD=System.Configuration.ConfigurationManager.AppSettings["FileServerPWD"];NetResourcenr=newNetResource();nr.dwScope=0;nr.dwType=1;nr.lpRemoteName=@fileServer;longstatus=WindowsApis.WNetAddConnection2A(refnr,fileServerUser,fileServerPWD,0);try{for(inti=0;i<files.Count;i++){fileuploadInfofi=newfileuploadInfo();stringfileURL="";stringreceivefileName=files[i].FileName;//全路径fi.fileName=receivefileName.Substring(receivefileName.LastIndexOf("\")+1);//取全文件名stringreceiveFileType=receivefileName.Substring(receivefileName.LastIndexOf(".")+1);//取后缀名stringyear=DateTime.Now.Year.ToString();stringmoth=DateTime.Now.Month.ToString();stringdate=DateTime.Now.ToString("yyyy-MM-dd");stringfoldPath=@fileServerPath+"\HotlineCaseInfo\"+year+"\"+year+"-"+moth+"\"+date;DirectoryInfodir=newDirectoryInfo(foldPath);if(dir.Exists){DirectoryInfo[]Folds=dir.GetDirectories();intisHaveSaveFlode=0;//标识现在文件夹是否满员intlastFold=0;for(intj=0;j<Folds.Length;j++){inttemplastFold=Convert.ToInt32(Folds[j].Name);//取得文件夹名if(templastFold>lastFold){lastFold=templastFold;}FileInfo[]f1=Folds[j].GetFiles();if(f1.Length<500){//获取所有子文件夹名fileURL=foldPath+"\"+Folds[j].ToString();HttpPostedFilehpf=files[i];stringNewFileName=getFileName(f1);fileURL=fileURL+"\"+NewFileName+"."+receiveFileType;hpf.SaveAs(fileURL);//保存文件fi.fileUrl=fileURL;isHaveSaveFlode=1;break;}}if(isHaveSaveFlode==0)//如果当天文件夹中已满{fileURL=foldPath+"\"+getNext(lastFold);DirectoryInfofolddir=newDirectoryInfo(fileURL);if(!folddir.Exists){folddir.Create();}HttpPostedFilehpf=files[i];fileURL=fileURL+"\001."+receiveFileType;hpf.SaveAs(fileURL);//保存文件fi.fileUrl=fileURL;isHaveSaveFlode=1;}}else{fileURL=foldPath+"\001";dir.Create();dir=newDirectoryInfo(fileURL);dir.Create();HttpPostedFilehpf=files[i];fileURL=fileURL+"\001."+receiveFileType;hpf.SaveAs(fileURL);//保存文件fi.fileUrl=fileURL;}filelist.Add(fi);}}catch(Exceptionex){WindowsApis.WNetCancelConnection2A(@fileServer,1,1);LogNet.LogHelper.PrintLog(LogNet.Loggerlevel.ERROR,"DATA_HotLine_FileUpLoad_FileUpLoad","UploadFile",LogNet.LoggerMark.Business,ex.ToString());throwex;}WindowsApis.WNetCancelConnection2A(@fileServer,1,1);}
解决方案四:
usingSystem;usingSystem.Windows.Forms;usingSystem.Runtime.InteropServices;usingSystem.IO;namespaceNetConnect{publicpartialclassNetWareFileCopy:Form{publicNetWareFileCopy(){InitializeComponent();}privatevoidbtNetCopy_Click(objectsender,EventArgse){NetWorkConnection();}#regionDefineNetWareConnectClasspublicenumERROR_ID{ERROR_SUCCESS=0,//SuccessERROR_BUSY=170,ERROR_MORE_DATA=234,ERROR_NO_BROWSER_SERVERS_FOUND=6118,ERROR_INVALID_LEVEL=124,ERROR_ACCESS_DENIED=5,ERROR_INVALID_PASSWORD=86,ERROR_INVALID_PARAMETER=87,ERROR_BAD_DEV_TYPE=66,ERROR_NOT_ENOUGH_MEMORY=8,ERROR_NETWORK_BUSY=54,ERROR_BAD_NETPATH=53,ERROR_NO_NETWORK=1222,ERROR_INVALID_HANDLE_STATE=1609,ERROR_EXTENDED_ERROR=1208,ERROR_DEVICE_ALREADY_REMEMBERED=1202,ERROR_NO_NET_OR_BAD_PATH=1203,ERROR_SESSION_CREDENTIAL_CONFLICT=1219}publicenumRESOURCE_SCOPE{RESOURCE_CONNECTED=1,RESOURCE_GLOBALNET=2,RESOURCE_REMEMBERED=3,RESOURCE_RECENT=4,RESOURCE_CONTEXT=5}publicenumRESOURCE_TYPE{RESOURCETYPE_ANY=0,RESOURCETYPE_DISK=1,RESOURCETYPE_PRINT=2,RESOURCETYPE_RESERVED=8,}publicenumRESOURCE_USAGE{RESOURCEUSAGE_CONNECTABLE=1,RESOURCEUSAGE_CONTAINER=2,RESOURCEUSAGE_NOLOCALDEVICE=4,RESOURCEUSAGE_SIBLING=8,RESOURCEUSAGE_ATTACHED=16,RESOURCEUSAGE_ALL=(RESOURCEUSAGE_CONNECTABLE|RESOURCEUSAGE_CONTAINER|RESOURCEUSAGE_ATTACHED),}publicenumRESOURCE_DISPLAYTYPE{RESOURCEDISPLAYTYPE_GENERIC=0,RESOURCEDISPLAYTYPE_DOMAIN=1,RESOURCEDISPLAYTYPE_SERVER=2,RESOURCEDISPLAYTYPE_SHARE=3,RESOURCEDISPLAYTYPE_FILE=4,RESOURCEDISPLAYTYPE_GROUP=5,RESOURCEDISPLAYTYPE_NETWORK=6,RESOURCEDISPLAYTYPE_ROOT=7,RESOURCEDISPLAYTYPE_SHAREADMIN=8,RESOURCEDISPLAYTYPE_DIRECTORY=9,RESOURCEDISPLAYTYPE_TREE=10,RESOURCEDISPLAYTYPE_NDSCONTAINER=11}[StructLayout(LayoutKind.Sequential)]publicstructNETRESOURCE{publicRESOURCE_SCOPEdwScope;publicRESOURCE_TYPEdwType;publicRESOURCE_DISPLAYTYPEdwDisplayType;publicRESOURCE_USAGEdwUsage;[MarshalAs(UnmanagedType.LPStr)]publicstringlpLocalName;[MarshalAs(UnmanagedType.LPStr)]publicstringlpRemoteName;[MarshalAs(UnmanagedType.LPStr)]publicstringlpComment;[MarshalAs(UnmanagedType.LPStr)]publicstringlpProvider;}publicclassNetworkConnection{[DllImport("mpr.dll")]publicstaticexternintWNetAddConnection2A(NETRESOURCE[]lpNetResource,stringlpPassword,stringlpUserName,intdwFlags);[DllImport("mpr.dll")]publicstaticexternintWNetCancelConnection2A(stringsharename,intdwFlags,intfForce);publicstaticintConnect(stringremotePath,stringlocalPath,stringusername,stringpassword){NETRESOURCE[]share_driver=newNETRESOURCE[1];share_driver[0].dwScope=RESOURCE_SCOPE.RESOURCE_GLOBALNET;share_driver[0].dwType=RESOURCE_TYPE.RESOURCETYPE_DISK;share_driver[0].dwDisplayType=RESOURCE_DISPLAYTYPE.RESOURCEDISPLAYTYPE_SHARE;share_driver[0].dwUsage=RESOURCE_USAGE.RESOURCEUSAGE_CONNECTABLE;share_driver[0].lpLocalName=localPath;share_driver[0].lpRemoteName=remotePath;Disconnect(localPath);intret=WNetAddConnection2A(share_driver,password,username,1);returnret;}publicstaticintDisconnect(stringlocalpath){returnWNetCancelConnection2A(localpath,1,1);}}#endregion//调用:publicstaticvoidNetWorkConnection(){stringlocalpath="Z:";stringserverPath=@"\10.0.0.1FileShared";stringloginUser="userid";stringloginPassword="password";intstatus=NetworkConnection.Connect(serverPath,localpath,loginUser,loginPassword);if(status==(int)ERROR_ID.ERROR_SUCCESS){//连接成功,在服务器端创建一文件,并写入一字串,FileStreamfs=newFileStream(localpath+@"//ConnectSuccess.txt",FileMode.OpenOrCreate);using(StreamWriterstream=newStreamWriter(fs)){stream.WriteLine("网络连接成功");stream.Flush();stream.Close();}fs.Close();}else{//连接失败Console.WriteLine(status);}//断开连接NetworkConnection.Disconnect(localpath);}}}

解决方案五:
实现文件上传功能#region实现文件上传的功能protectedvoidImgUpFile_Click(objectsender,ImageClickEventArgse){if(this.FileUpload1.PostedFile.FileName!=""){UpFile();//执行上传文件SFUPC();}else{Response.Write("<scriptlanguage='javascript'>alert('对不起,上传文件为空,请选择上传文件!');location=Default.aspx</script>");}}#region该方法用于执行文件上传操作privatevoidUpFile(){//获取文件夹路径stringFilePath=Server.MapPath("./")+"File";//获取客户端上载文件的集合HttpFileCollectionHFC=Request.Files;for(inti=0;i<HFC.Count;i++){//访问指定的文件HttpPostedFileUserHPF=HFC[i];try{//判断文件是否为空if(UserHPF.ContentLength>0){//将上传的文件存储在指定目录下UserHPF.SaveAs(FilePath+"\"+System.IO.Path.GetFileName(UserHPF.FileName));}}catch{LblMessage.Text="上传失败!";}}if(Session["FilesControls"]!=null){Session.Remove("FilesControls");}LblMessage.Text="上传成功!";}

时间: 2024-11-03 14:58:56

高分求解:上传文件失败的相关文章

网站 php linux-网站后台上传文件失败

问题描述 网站后台上传文件失败 四台服务器做的负载均衡,都是linux系统,在网站后台上传图片 有时会出现上传失败情况,谁知道这种情况是因为什么原因引起的 解决方案 网站后台上传文件被限定格式 解决方案二: 文件格式限制?文件大小限制?分析上传成功与上传失败图片文件的区别?

Struts2上传文件失败,这段代码哪里有错?

问题描述 Struts2上传文件失败,这段代码哪里有错? package com.Music.user; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Random;

curl-php cURL 上传文件失败

问题描述 php cURL 上传文件失败 curlPost.php <?php $post = array( 'name' => 'wyjie', 'img' => '@D:/debug.exe' ); //cURL发送post请求 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://localhost/demo/demo/curl/01.php'); curl_setopt($ch, CURLOPT_RETURNTRANSF

hadoop-hue使用streaming上传文件失败

问题描述 hue使用streaming上传文件失败 使用hue编写hadoop streaming 任务,可是配置了文件路径却没有上传,有人知道是什么原因吗? 这个路径上明明有的: 可是,结果: 解决方案 http://zhidao.baidu.com/link?url=Syiy9IHmxb4jm3rZJ-FIS-7yFEqUqlmi6aq3YrzeRHMEhspYUMxO6p7lLN5EN_YY2mLns4HDGQf5QblmkuFYhauz-Dsw7nlwxBG1lF2bTNq

手机端用webim报错,上传文件失败,服务端返回值不正确

问题描述 sendPicture时出现的错误:上传文件失败,服务端返回值值不正确版本是easemob.im.1.0.7手机是android5.1.1谢谢!! 解决方案 贴一下报的是什么错,还有你是什么样的集成方式,如果是混合APP,你传径上传是不行的,webIM只支持表单上传,你可以考虑用rest上传来作为替代方案.解决方案二:错误就是:上传文件失败,服务端返回值值不正确(两个"值")是用的dcloud框架,应该属于混合app?用法上搬的demo代码查看fileobj的url,是blo

wordpress媒体库上传文件失败解决办法

这是之前一位win主机用户遇到的问题,其他系统的用户不知道会不会出现这种问题,一般在网站目录可读写权限没有达到777的情况下,会出现这样的提示:不能将文件移动到目录! win主机用户在升级到wordpress3.7.1版本之后出现的一个问题: 中文名的图片上传以后,在FTP存放文件的目录中(wp-content/uploads/)查看会出现文件名乱码的现象.直接访问链接无法显示图片,看似是路径的问题,其实不然,把文件名改为数字或者英文再上传却可以正常显示,这就说明问题所在. 怎么让中文名自动重命

PHP无刷新上传文件实现代码

index.html <html> <head> <title>无刷新上传文件</title> <meta Content-type="text/html" charset="utf-8" /> <script type="text/javascript"> function startUpload() { document.getElementById('processin

php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)_php技巧

php使用ftp实现文件上传代码片段: <?php /** * ftp上传文件类 */ class Ftp { /** * 测试服务器 * * @var array */ private $testServer = array( 'host' => 'ip', 'port' => 21, 'user' => 'userName', 'pwd' => 'password' ); /** * 打开并登录服务器 * * @param string $flag 服务器标识test *

Struts2上传文件的最大Size的设置

    struts2中文件上传的二个限制,一个是struts.multipart.maxSize,如果不设置,struts2 的核心包下的default.properties文件里有默认的大小设置struts.multipart.maxSize=2097152,即2M. 这是struts2文件上传的第一道关.   第二道关是inteceptor中的maximumSize. 当真实的文件大小能通过第一道关时.针对不同的action中配置的inteceptor,maximumSize才能发挥相应的