日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

中文名称的文件传不到ftp服务器,FTP上传文件时文件的中文名称变为#号,解决方法...

發布時間:2025/3/15 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 中文名称的文件传不到ftp服务器,FTP上传文件时文件的中文名称变为#号,解决方法... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

由于R&D中心需要把圖紙上傳到FTP服務器上,所以做了一個FTP方式的上傳本地文件到FTP服務器的程序,程序做完但是出現了一些問題,貼出來大家討論,以便給予本人解決。現謝謝各位的參與和恢復。

問題:

1、上傳的文件名稱為英文或數字時沒有問題,但是當文件名為中文時,傳到服務器上的文件中文名稱部分就全變為了#號。

例如:本地文件名為:FILE123.TXT? ?? ?上傳到服務器上文件名稱還是為:FILE123.TXT

本地文件名為:文件123.TXT? ?? ? 上傳到服務器上文件名稱變成了:###123.TXT

在調試跟中時走道CALL FUNCTION 'FTP_R3_TO_SERVER' 時,name2在系統中還是中文顯示,

函數完成,程序結束,文件傳到服務器上,名稱變為#號。

2、如果服務器上存放文件的路徑有中文,上傳出現錯誤。

例如:服務器路徑

保存文件/

第一種??filename??= '/SAVEFILE/FILE123.TXT'.

第二種 filename??= '/保存文件/FILE123.TXT'.

CONCATENATE??filename '' INTO name2.

這兩種格式,第一種文件上傳成功,第二種提示“FTP子命令:服務器報表錯誤”。

按照網上的提示把系統變量SAP_CODEPAGE 設置為 8400 等,都沒有解決問題.

測試FTP 服務器為WIN2003 SERVER版,系統自帶IIS設置.

DATA: hdl TYPE i,

key TYPE i VALUE 26101957,

dstlen TYPE i,

slen TYPE i,

blob_length TYPE i.

DATA filepath TYPE string .

DATA: BEGIN OF blob OCCURS 0,

line(100) TYPE x,

END OF blob.

DATA: result TYPE TABLE OF text WITH HEADER LINE.

DATA:filename1 TYPE string,

path TYPE string,

fullpath TYPE string.

PARAMETERS:

user(30) TYPE c LOWER CASE DEFAULT 'test',

pwd(30) TYPE c LOWER CASE DEFAULT 'test',

host(64) TYPE c LOWER CASE DEFAULT '172.16.0.128',

filename(80) TYPE c DEFAULT 'test.xls',

name2(80) TYPE c DEFAULT 'test.xls',

dest LIKE rfcdes-rfcdest DEFAULT 'SAPFTP'.

PARAMETERS: p_file LIKE rlgrap-filename?? DEFAULT 'c:\test.xls'.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.

PERFORM get_p_file USING p_file text-006.

START-OF-SELECTION.

*? CALL SCREEN 100.

*END-OF-SELECTION .

CALL 'AB_RFC_X_SCRAMBLE_STRING'

ID 'SOURCE'? FIELD pwd

ID 'KEY'? FIELD key

ID 'SCR'? FIELD 'X'

ID 'DESTINATION'? FIELD pwd

ID 'DSTLEN'? FIELD dstlen.

slen = STRLEN( pwd ).

CALL FUNCTION 'HTTP_SCRAMBLE'

EXPORTING

SOURCE????? = pwd

sourcelen?? = slen

key???????? = key

IMPORTING

destination = pwd.

CALL FUNCTION 'FTP_CONNECT'

EXPORTING

user??????????? = user

password??????? = pwd

host??????????? = host

rfc_destination = dest

IMPORTING

handle????????? = hdl.

filepath = p_file.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

filename?? = filepath

filetype?? = 'BIN'

IMPORTING

filelength = blob_length

TABLES

data_tab?? = blob.

WRITE ''.

CALL FUNCTION 'CH_SPLIT_FILENAME'

EXPORTING

complete_filename = filepath

IMPORTING

name_with_ext???? = name2.

WRITE: AT / 'Get ',p_file,' Length: ',blob_length.

CONCATENATE? filename '' INTO name2.

CALL FUNCTION 'FTP_R3_TO_SERVER'

EXPORTING

handle????? = hdl

fname?????? = name2

blob_length = blob_length

TABLES

blob??????? = blob.

*? CALL FUNCTION 'FTP_COMMAND'

*??? EXPORTING

*????? handle?? = hdl

*????? command? = 'PUT'

*??? IMPORTING

*????? filesize = blob_length

*??? TABLES

*????? data???? = blob.

WRITE: AT / 'Put ',name2.

CALL FUNCTION 'FTP_DISCONNECT'

EXPORTING

handle = hdl.

FORM get_p_file? USING??? l_filename??? l_text.

CALL FUNCTION 'WS_FILENAME_GET'

EXPORTING

def_filename???? = space

def_path???????? = l_filename

mask???????????? = ',*.dwg ,*.dwg.'

mode???????????? = 'O'

title??????????? = l_text

IMPORTING

filename???????? = l_filename

EXCEPTIONS

inv_winsys?????? = 04

no_batch???????? = 08

selection_cancel = 12

selection_error? = 16.

ENDFORM.??????????????????? " get_p_file*Text elements

*----------------------------------------------------------------------*

*? MODULE user_command_0100 INPUT

*----------------------------------------------------------------------*

*

*----------------------------------------------------------------------*

MODULE user_command_0100 INPUT.

CASE sy-ucomm.

WHEN 'EXIT'.

CALL FUNCTION 'GUI_FILE_LOAD_DIALOG'

EXPORTING

window_title??????????? = 'DWG引入'

default_extension?????? = 'DWG'

*?? DEFAULT_FILE_NAME?????? = 'DWG'

*?? WITH_ENCODING?????????? =

*?? FILE_FILTER???????????? =

initial_directory?????? =? 'C:\'

IMPORTING

filename??????????????? = filename1

path??????????????????? =? path

fullpath??????????????? =? fullpath

*?? USER_ACTION???????????? =

*?? FILE_ENCODING?????????? =

.

filename1 = fullpath.

ENDCASE.

CLEAR sy-ucomm.

ENDMODULE.???????????????? " USER_COMMAND_0100? INP

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的中文名称的文件传不到ftp服务器,FTP上传文件时文件的中文名称变为#号,解决方法...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。