| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3137 人关注过本帖
标题:vb 中 inet ftp 下载中由于路径中存在空格出现无法下载的解决方法
只看楼主 加入收藏
w360989426
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:228
专家分:301
注 册:2013-11-12
结帖率:84%
收藏
 问题点数:0 回复次数:8 
vb 中 inet ftp 下载中由于路径中存在空格出现无法下载的解决方法
rivate Sub Command7_Click()
    Dim str1 As String
    Dim str2 As String

    If Frame5.Visible = True Then
        MsgBox "请等上次的上传和下载任务完成之后在进行下一次任务!", vbOKOnly + vbInformation, "提示信息"
        Exit Sub
    End If
    If Adodc1.Recordset.EOF = True Then
        Exit Sub
    End If
    If MsgBox("你确定将要为名称为【" & Trim(Adodc1.Recordset.Fields("货物名称")) & "】上传图片吗?", vbYesNo + vbQuestion, "询问信息") = vbNo Then
        Exit Sub
    End If
    CommonDialog1.Filter = "图片文件 (.JPEG)|*.jpg"
    CommonDialog1.ShowOpen
    If CommonDialog1.FileName = "" Then
        MsgBox "没有任何东西上传!请重新选择!", vbOKOnly + vbInformation, "错误信息"
        Exit Sub
    End If
    Call 自动检查文件夹 '检查是否存在临时文件夹,不存在自动创建

    Label12.Caption = "正在上传,请稍候……"
    str2 = "c:\临时文件夹\2.jpg"
    str1 = CommonDialog1.FileName
    If Dir(str2) <> "" Then
        Kill str2
    End If
    FileCopy str1, str2

    Inet1.URL = "192.168.0.109"
    Inet1.Protocol = icFTP
    Inet1.UserName = "admin"
    Inet1.Password = "wuyachao99"
    Inet1.Execute "", "PUT c:\临时文件夹\2.jpg /图片资源/" & Adodc1.Recordset.Fields("序号") & ".jpg"


    Frame5.Visible = True
    Do While Inet1.StillExecuting
        DoEvents
    Loop
    Frame5.Visible = False



    sql1 = "update 公司货物信息表 set 是否有图 = 1 where id_公司货物名称 ='" & Adodc1.Recordset.Fields("序号") & "'"
    Adodc1.Recordset.ActiveConnection.Execute sql1

    Inet1.Execute , "QUIT"
    Kill str2
    MsgBox "上传完毕!", vbInformation + vbOKOnly, "提示"
End Sub
Private Sub 自动检查文件夹()
    If Dir(("c:\临时文件夹"), vbDirectory) = "" Then
        MkDir "c:\临时文件夹"
    End If
End Sub



上述为代码,思路很简单,为了避免空格路径的出现,先上传到一个临时文件夹中,取一个通用名字2.jpg,在将这个路径的文件通过inet上传到ftp即可,
下载也为一样的道理
搜索更多相关主题的帖子: 提示信息 下载任务 图片 
2014-06-12 10:29
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
收藏
得分:0 
给文件路径加引号不就行了。
"c:\a b c.txt"
2014-06-12 14:22
w360989426
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:228
专家分:301
注 册:2013-11-12
收藏
得分:0 
回复 2 楼 bczgvip
版主,早就试过了。。不行的
2014-06-12 15:36
w360989426
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:228
专家分:301
注 册:2013-11-12
收藏
得分:0 
回复 2 楼 bczgvip
路径是交由客户自由选定的,而不是自己定死的
2014-06-12 15:37
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
收藏
得分:0 
我勒个去。
不管路径是否有空格都加上引号,是程序添加,不是用户添加。
2014-06-12 20:31
w360989426
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:228
专家分:301
注 册:2013-11-12
收藏
得分:0 
回复 5 楼 bczgvip
版主,虽然你技术很高,但有些事情还是自己碰到了,你才会有所体会。加双引号我早就百度到了,如果可以,我就不会发帖请问,无人回答。最后找到方法,将方法写出来分享。要么你给出具体的方案,你就说加双引号,其他人能知道加在哪?
2014-06-12 21:46
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:652
专家分:3402
注 册:2008-5-7
收藏
得分:0 
回复 6 楼 w360989426
经验证,二楼版主所说方法可行,下面是ftp下载文件并存储为带空格文件名的代码(运行后,我e盘即出现一个“a b c.rar”的文件):
Private Sub Command1_Click()
  Inet1.Execute , "get 加解密.rar " & Chr(34) & "e:\a b c.rar" & Chr(34)
  Do While Inet1.StillExecuting
      DoEvents
  Loop
End Sub

对我的ftp服务器目录设置了可写权限后,文件名有空格的文件上传代码也运行正常,代码如下(运行后,我的ftp目录里即出现了ggg.rar文件):
Private Sub Command2_Click()
  Inet1.Execute , "put " & Chr(34) & "e:\a b c.rar" & Chr(34) & " /ggg.rar"
  Do While Inet1.StillExecuting
      DoEvents
  Loop
End Sub

另:楼主,既然你百度到了,却没有成功,还是要检查下自己的理解能力,实在不行,就直接要回答者提供代码,如果对方提供不出来,你再抨击对方嘛,害得我为做实验,到处找xp安装盘装ftp服务。再就是你的代码很不简洁,如:
    If Adodc1.Recordset.EOF = True Then
        Exit Sub
    End If
其实只需要:If Adodc1.Recordset.EOF Then Exit Sub即可。


[ 本帖最后由 lowxiong 于 2014-6-12 23:57 编辑 ]
2014-06-12 23:13
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
收藏
得分:0 
inet1.execute , "put """ & sPath1 & """ """ & sPath2 & """"
多谢7楼版主了,想了想这的确是经验问题吧?
2014-06-13 00:14
w360989426
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:228
专家分:301
注 册:2013-11-12
收藏
得分:0 
对,这的却是一个技术问题,不过我在碰到无法解决的问题时候,至少可以找一个替代的方法,并且我愿意将我的方法拿出分享。。。
不像版主你虽然技术高超,对我这种方法当然很不屑?但我在几天前发表的一个就是这个问题的求助贴,你怎么不去回复??
至少我可以为后人无法理解你解决此类方法的人,提供一个参考!
2014-06-13 14:20
快速回复:vb 中 inet ftp 下载中由于路径中存在空格出现无法下载的解决方法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024774 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved