急啊,已经几天没吃了......就为这个问题:怎样能网服务器上传文件,帮帮我,谢谢!!! ( 积分: 50 )

  • 主题发起人 主题发起人 zglwxb
  • 开始时间 开始时间
Z

zglwxb

Unregistered / Unconfirmed
GUEST, unregistred user!
在局域网内,知道服务器的 administrator 密码 123456
我现在需要把文件上传的服务器上的 D:/TEST/
麻烦各位了.
谢谢 !!!
 
在局域网内,知道服务器的 administrator 密码 123456
我现在需要把文件上传的服务器上的 D:/TEST/
麻烦各位了.
谢谢 !!!
 
IPC$ 入侵
 
是写程序呢,还是什么呢?
写程序的话就先查找一下怎么映射驱动器,大富翁有这样的资料。
要是直接操作就直接映射服务器的D盘即可
 
to hhxxj
能给个完整的例子啊
谢谢
随便帮我看看这个错在那
WinExec(
PChar(Format('net use//192.168.0.251/d$ "dell4600" /user: "administrator" ',
[Server,dell4600,administrator])), 0);
CopyFile(pchar('c:/1.jpg'), pchar('//Server/d$/Test'),false);
 
如果知道文件夹的共享名字, 比如: //machine1/folder1, 可以用API直接访问其UNC名,
比如:
CopyFile('C:/config.sys', '//machine1/folder1/config.sys', false);

当然, 也可以通过调用:

net.exe use z: //machine1/folder1

命令将它映射成一个盘, 然后就类似本地文件一样操作.
该命令可以通过shellexecute来执行

简单的说就是那个TEST文件夹要共享才好办
 
给个简单例子:

var
NRW: TNetResource;
begin
with NRW do
begin
dwType := RESOURCETYPE_ANY;
lpLocalName := 'X:'; //驱动器号
lpRemoteName := '//MyServer/MyDirectory';
lpProvider := '';
end;
WNetAddConnection2(NRW, 密码', '用户名', CONNECT_UPDATE_PROFILE);
copyfile(soure,dest,false);
end;
我觉得你的copyfile后面的错了,
 
麻烦您了!
**********************
var
NRW: TNetResource;
begin
with NRW do
begin
dwType := RESOURCETYPE_ANY;
lpLocalName := 'X:'; //驱动器号
lpRemoteName := '//Server/d';
lpProvider := '';
end;
WNetAddConnection2(NRW, '123456', 'administrator', CONNECT_UPDATE_PROFILE);
copyfile('C:/1.jpg','X:/',false);
end;
还是不行啊
 
几天不吃饭都饿不死??强啊!!
 
這樣吧.
把 copyfile('C:/1.jpg','X:/',false);
改為 copyfile('C:/1.jpg','X:/1.jpg',false);
 
你真行几天不吃,,,现在好了没有呀!现在应好好吃吃了。
 
偶只是给你了一个例子,你也不能一点都不改啊,像一些路径之类的啊
 
现在可以了
但能不换个方式呢
不需要映射盘符的
谢谢
 
饿死算了
 
好像楼上这位在DFW口碑不是很好啊
其他偶也不知道什么方法,你要写到别的机器上一般对方都要共享或者怎么样,其实映射都是不错的做法了
 
procedure TWebModule_UP.WebModule1WebActionItem_UpAction(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
const
BuffSize = 32 * 1024;
var
i, FilebeginIdx, NowFileSize, FileSize, B, S, j, HeadEndIdx, FileEndIdx: integer;
strFileName: string;
Fs: TFileStream;
BytesRead, nowRead: integer;
Head, Buffer: string;
sDelimiter: string;
path: string;
input_code, uP: string;
sl: TStringList;
procedure checkHead;
var
B1, b2: integer;
s: string;
begin
if FilebeginIdx < 1 then
begin
if HeadEndIdx < 1 then
begin
B1 := pos(#13#10#13#10, Buffer);
if b1 >= 0 then
begin
s := copy(Buffer, B1 + 4, 1024 * 2);
b2 := pos(#13#10#13#10, s);
if b2 > 0 then
HeadEndIdx := b1 + b2 + 3;
end;
end;
if HeadEndIdx > 0 then
begin

FilebeginIdx := HeadEndIdx + 4;
Head := copy(Buffer, 1, HeadEndIdx - 1);
b1 := pos('name=&quot;input_code&quot;', Head);
s := trim(copy(Head, b1 + length('name=&quot;input_code&quot;'), 255));
b1 := pos(#13#10, s);
if b1 > 0 then
input_code := trim(copy(s, 1, b1));

j := pos(#13#10, Head);
sDelimiter := copy(Head, 1, j - 1);
FileEndIdx := FileEndIdx - (145 - 2 * 43) - 2 * length(sDelimiter);
FileSize := FileEndIdx - FilebeginIdx + 1;
j := Pos('filename=&quot;', Head);

if j > 0 then
begin
strFileName := Copy(Head, j + 10, MaxInt);
strFileName := ExtractFileName(Copy(strFileName, 1, Pos('&quot;', strFileName) - 1));
strFileName := StringReplace(strFileName, ' ', '', [rfReplaceAll]);

path := ExtractFilePath(Request.TranslateURI(Request.URL)) + 'File/' + input_code + '/';
if not DirectoryExists(path) then
begin
ForceDirectories(path);
end;
strFileName := path + strFileName;

fs := TFileStream.Create(strFileName, fmShareDenyNone or fmCreate);
end
else
;
end;
end;

end;
procedure w;
begin
if FilebeginIdx > 0 then
begin

if FilebeginIdx > BytesRead then
B := FilebeginIdx
else
B := 1;
S := nowRead - b + 1;
if s + NowFileSize > FileSize then
s := FileSize - NowFileSize;
if strFileName <> '' then
fs.Write(Buffer, S);
NowFileSize := NowFileSize + s;
end;
end;
begin
try
inc(AccessCount);

Response.ContentType := 'text/html';

try
FilebeginIdx := 0;
BytesRead := 0;
HeadEndIdx := 0;
NowFileSize := 0;
strFileName := '';
FileEndIdx := Request.ContentLength;
FileSize := 0;
{sl := TStringList.Create;
sl.Text := Request.Content;
sl.SaveToFile('d:/1.txt');
FreeAndNil(sl); }

Buffer := Request.Content;
nowRead := length(Buffer);
checkHead;
w;
BytesRead := nowRead;

if FileSize > NowFileSize then
begin
setlength(Buffer, BuffSize);
try
repeat
nowRead := FileSize - NowFileSize;
if nowRead > BuffSize then
nowRead := BuffSize;
nowRead := Request.ReadClient(Buffer[1], BuffSize);
checkHead;
if nowRead > 0 then
w;
BytesRead := BytesRead + nowRead;
until
(nowRead <= 0) or (NowFileSize >= FileSize);
except
;
end;

end;
Buffer := '';
if strFileName <> '' then
try
freeandnil(fs);
except;
end;
uP := lastD(Request.URL);
if strFileName <> '' then
uP := uP + '/up_suc.asp'
else
uP := uP + '/up_error.asp';
Response.SendRedirect(uP);

except

on E: Exception do
begin
uP := lastD(Request.URL);
uP := uP + '/up_error.asp';
Response.SendRedirect(uP);
end;

end;

Buffer := '';
except
on E: Exception do recordEvent('up ' + strFileName + ' ' + E.Message);
end;

end;
 
用 Delphi 那个FTP控件编程实现,想传输到哪里都可以实现!
 
后退
顶部