老橘 以上是广联达施工企业项目管理解决方案,你需要找到正确的网页下载一个GCPsetup.exe文件运行,安装后在打开网页就可以进入项目管理页面了。
首先下载gcpwebserver.dll,如果你的电脑里已经安装了GCPsetup.exe文件可以使用加载这个DLL文件,如肢弊果没安装GCPsetup.exe文件请选中gcpwebserver.dll右键使用记事本打开文件,你会看到一行代码如图,黄色部分应该是你要打开的那历含族个网页,红色部分的地址可以下载到GCPsetup.exe文件。
delphi中有种新的技术叫做mobile-connecter,听过没用过禅搜但是如果真的能用安卓手机用一个程序听过wenservice连接WEB项目的话,市场大轮含有可为啊!腊袭笑
我想会有好多人也会遇到这个问题,我的这个解决方法,在一定程度上可以解决一些问题.(^_^),关于身份模拟请参考msdn中的描述。此程序片段不包含目录验证的代码.这个问题困扰了我好久.我曾经尝试过多种方法.但一样的程序,在windows应用程序里运行就ok,一放到webservice里就出问题了.(不过今天晚上又测试了多次,证明我的方法是有拿裂洞效的,兴奋中....)
以下源轿是通过文件监控的方式实现的文件上传程序代码:(里面采用了模拟windows用户的方式模拟消枯当前的 *** 作用户)
private void fileSystemWatcher1_Created(object sender, System.IO.FileSystemEventArgs e)
{
Application.DoEvents()
WindowsImpersonationContext wic = null
if( wic != null ) wic.Undo()
try
{
System.IO.File.Copy(e.FullPath,"c://AresTemp//"+e.Name,true)
FileStream fStream
fStream= File.OpenRead("c://AresTemp//"+e.Name)
byte[] contents = new byte[fStream.Length]
fStream.Read(contents, 0, (int)fStream.Length)
fStream.Close()
if(File.Exists("c://AresTemp//"+e.Name)==true)
{
File.Delete("c://AresTemp//"+e.Name)
}
wic =SPUtil.GetWindowsIdentity()
SPWeb myweb=new SPSite(SharePointURL).OpenWeb()
myweb.AllowUnsafeUpdates=true
myweb.Files.Add(SharePointURL+"/"+e.Name,contents,true)
//if (File.Exists(e.FullPath))
// File.Delete(e.FullPath)
if( wic != null ) wic.Undo()
AresLog.recordLog("文件上传成功","","",e.Name ,e.FullPath)
}
catch(Exception ee)
{
if( wic != null ) wic.Undo()
AresLog.recordLog("上传文件异常","","",ee.Message,ee.StackTrace)
}
}
以下是我写的通过ftp的方式,将文件传输到本地,然后读取本地磁盘文件,上传到sharpoint文档库的代码:(需要注意域名的书写,此代码已经过本机测试成功,但具体环境不同,也可能造成一定的差异)
[WebMethod]
public string UpLoadFilesToSPS(string FtpServer,string FtpUser,string FtpPwd,string FtpPath,string FilesName,string FilesInfo,string targetUrl)
{
//ftp settings
FtpClient myFTP=new FtpClient()
myFTP.Server=FtpServer
myFTP.Username=FtpUser
myFTP.Password=FtpPwd
myFTP.RemotePath=FtpPath
//filePath,info
string[] fName=Microsoft.VisualBasic.Strings.Split(FilesName,"",-1,Microsoft.VisualBasic.CompareMethod.Text)
string[] fInfo=Microsoft.VisualBasic.Strings.Split(FilesInfo,"",-1,Microsoft.VisualBasic.CompareMethod.Text)
int i=0
//检查和创建本地环境
if(Directory.Exists("C://AresTemp")==false)
{
Directory.CreateDirectory("C://AresTemp")
}
foreach(string fDirectory in fInfo)
{
if(Directory.Exists("C://AresTemp//"+fDirectory)==false)
{
Directory.CreateDirectory("C://AresTemp//"+fDirectory)
}
}
//文件下载
for(i=0i<fName.Lengthi++)
{
myFTP.DownloadEx(fName[i],"C://AresTemp//"+fInfo[i]+"//"+fName[i],true)
}
myFTP.Close()
WindowsImpersonationContext wic = null
if( wic != null ) wic.Undo()
//获取模拟用户信息
ZSoft.WindowsImpersonation.WIUser myUser=new ZSoft.WindowsImpersonation.WIUser(ServerUser,ServerName,ServerPassword)
myUser.impersonateValidUser()
wic =myUser.wic
SPWeb myweb=new SPSite(targetUrl).OpenWeb()
myweb.AllowUnsafeUpdates=true
for(i=0i<fName.Lengthi++)
{
FileStream fStream
fStream= File.OpenRead("c://AresTemp//"+fInfo[i]+"//"+fName[i])
byte[] contents = new byte[fStream.Length]
fStream.Read(contents, 0, (int)fStream.Length)
fStream.Close()
myweb.Files.Add(targetUrl+"/"+fInfo[i]+"//"+fName[i],contents,true)
}
myweb.Close()
if( wic != null ) wic.Undo()
return "文件传输成功!"
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)