以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  用桌面版本上传文件总是错误。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=136847)

--  作者:lanbor
--  发布时间:2019/6/22 22:22:00
--  用桌面版本上传文件总是错误。
说明:我用下面的关键参数,用手机上传文件或图片方法,在手机上可以向远程主机正常上传

但用下面的方法,在桌面应用上传文件一直失败。
Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog 
dlg.Filter= "文本文件|*.docx;*.xlsx;*.xls;*.doc;*.pptx;*.ppt;*.pdf;*.txt" \'dlg.Filter= "文本文件|*.bmp;*.jpg;*.gif;*.png" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then 
    MessageBox.Show("你选择的是:" & dlg.FileName,"提示") 
End If
Dim ftp1 As New FtpClient
ftp1.deleteEnabled=False
ftp1.renameEnabled=False
ftp1.Host="120.78.*.*"
ftp1.Port="1**44"
ftp1.Account = "f*xftp"
ftp1.Password = "****"
Dim name As String =dlg.FileName.SubString(dlg.FileName.LastIndexOf("\\")+1)
If ftp1.Upload(dlg.FileName , "\\jyapp\\" & name)= True Then
    Messagebox.show("上传完成!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else
    Messagebox.show("上传失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If
Dim r1 As String= "ftp://f*xftp:J***@120.78.*.*\\jyapp\\" & name
Messagebox.show("当前字符串:" & r1)

请教大师:我用的阿里云主机,用手机上传图片或文件方法,能正常上传文件或图片,但用上面的方法失败。
请指点。

--  作者:有点甜
--  发布时间:2019/6/23 11:57:00
--  

1、弹出name的值,看是否正常。

 

2、直接写upload的路径,测试能否正常上传某个文件。

 

3、在ftp管理器那里,通过菜单上传,提示什么错?


--  作者:lanbor
--  发布时间:2019/6/23 16:11:00
--  请问专家,执行FTP上传,只能使用21端口吗?
请问专家:难道执行FTP上传,只能使用21端口吗?
---------------
1.因为弹出的文件路径完成正常,
2.直接写Upload 报告用户密码错误;
3、在ftp管理器那里,通过菜单上传,也提示用户名密码错; 
-----------------------------------
我后来改用21端口(用户名和密码不变)就可以执行在桌面程序上传文件了。
请专家证实一下。



--  作者:有点甜
--  发布时间:2019/6/23 16:16:00
--  

 

提示账号密码出错,那就是你搭建的ftp有问题,认认真真看看你搭建了多少个ftp,对应的那个ftp的账号密码是什么。

 

 


--  作者:lanbor
--  发布时间:2019/6/24 17:55:00
--  文件下载到手机上查询方法,请教!
在专家的提醒下,真的找到问题了。
不用21端口也能用FTP的
If ftp1.Upload("c:\\data\\Foxtable学习笔记.xlsx","/book/Foxtable学习笔记.xlsx") = True Then  此例上传正常
\' If ftp1.Download("\\photo\\Desert.jpg","c:\\data\\Desert.jpg") = True Then  
上传文件。

现请教:已经知道远程主机上有上传的文件名:/book/Foxtable学习笔记.xlsx

我应该如何在手机上下载、并能直接打开它进行阅读

---下面是我的网页基本代码---但执行结束仅是在主机上打开了文件。

Dim e As RequestEventArgs = args(0)
Dim pkey As Integer=0   \'用户接收文件行的[_Identify]值
If e.GetValues.ContainsKey("pkey") Then
    Integer.TryParse(e.GetValues("pkey"), pkey) \'提取page参数
Else
    Return ""
End If
Dim dr As DataRow = Data Tables("files99").SQL Find("[_Identify] = " & pkey)
Dim pa As String= dr("file03")   \'里面保存有带路径的文件名称
If dr IsNot Nothing Then
    Dim proc As new process
    proc.file = pa
    proc.Start()
End If


[此贴子已经被作者于2019/6/24 18:03:13编辑过]

--  作者:有点甜
--  发布时间:2019/6/24 18:18:00
--  

你试试

 

Dim e As RequestEventArgs = args(0)
Dim pkey As Integer=0   \'用户接收文件行的[_Identify]值
If e.GetValues.ContainsKey("pkey") Then
    Integer.TryParse(e.GetValues("pkey"), pkey) \'提取page参数
Else
    Return ""
End If
Dim dr As DataRow = Data Tables("files99").SQL Find("[_Identify] = " & pkey)
If dr IsNot Nothing Then
    Dim pa As String= dr("file03")   \'里面保存有带路径的文件名称
    msgbox(pa)
    e.writefile(pa)

End If


--  作者:lanbor
--  发布时间:2019/6/24 20:05:00
--  变更后出现以下画面,确定后,终端上无反映。
变更后在服务器端出现以下画面,确定后,终端上无反映。


图片点击可在新窗口打开查看此主题相关图片如下:rep09.png
图片点击可在新窗口打开查看

请专家再指点一下。
[此贴子已经被作者于2019/6/24 20:05:52编辑过]

--  作者:有点蓝
--  发布时间:2019/6/24 20:27:00
--  
贴出httprequest事件代码
--  作者:lanbor
--  发布时间:2019/6/24 20:48:00
--  请专家指点,谢谢你!
请专家指点,谢谢你!




[此贴子已经被作者于2019/6/24 22:11:56编辑过]

--  作者:有点蓝
--  发布时间:2019/6/24 21:28:00
--  
路径问题
首先,下面这段代码没有任何用处
Dim fl As String = ".\\" & e.path
If filesys.FileExists(fl) Then 
    ……
End If

因为filesys.FileExists(fl)永远都返回false,FileExists判断需要绝对路径,而不是使用网络路径

其次e.writefile也需要使用绝对路径,就是电脑上文件的完整路径