當前位置:首頁 » 文件管理 » iosftp傳輸大文件

iosftp傳輸大文件

發布時間: 2023-05-20 04:45:36

ftp傳輸的數據最多能支持多大1.2GB還是1.5GB上次用FTP傳輸4GB的數據,結果報錯。

FTP傳送的數據與FTP軟體有關。建議您是使用斷電續傳的工具,比如快車等下載試試。我們知道,在文件傳輸協議上,有TCP/IP與UDP兩大類,文件傳輸涉及將所傳送的文件分包、重組的問題,TCP/IP協議對所傳數據一律採取兩端校驗的方式,如果校驗出差,就提示傳輸失敗,要求重新傳輸。而UDP則是不負責兩端校驗,將這個工作交給了應用程序來控制。所以在傳輸大數據量的數據時,多採用UDP協議的方式,而不是TCP/IP,由應用程序負責數據包的校驗與重組,這就是很多斷點續傳工具的工作原理。不會因為校驗失敗,而要求全部重新傳輸,因為應用程序記住了每個數據分組的信息,下次重新傳輸的時候,就接收一下未成功檢驗的數據分組就可以了。

❷ FTP上傳軟體不能上傳大於1M的文件

1.上傳限制默認是2M 要想修改的話 網路搜「ftp上傳限制修改」一大把資料不多說了
2.flashfxp速度降為0,先改一下傳輸模式試試----被動模式 軟體上面的。
3.速度慢慢降為0 的另一個原因,以前這個問題也困擾了我好久
找了幾天才找到原因,安裝的第三方 防火牆沖突。關閉伺服器防火牆試試 是 不是這個原因。

❸ iOS大文件的分片上傳和斷點上傳

由於最近比較忙,所以一直沒有寫博客,現在分享一些大文件的上傳的問題!斷點續傳和分片上傳。因為文件過大(比如1G以上),必須要考慮上傳過程網路中斷的情況。http的網路請求中本身就已經具備了分片上傳功能,當傳輸的文件比較大時,http協議自動會將文件切片(分塊),但這不是我們現在說的重點,我們要做的事是保證在網路中斷後1G的文件已上傳的那部分在下次網路連接時不必再重傳。所以我們本地在上傳的時候,要將大文件進行分片,比如分成1024*1024B,即將大文件分成1M的片進行上傳,伺服器在接收後,再將這些片合並成原始文件,這就是分片的基本原理。斷點續傳要求本地要記錄每一片的上傳的狀態,我通過三個狀態進行了標記(wait loading finish),當網路中斷,再次連接後,從斷點處進行上傳。伺服器通過文件名、總片數判斷該文件是否已全部上傳完成。

下面來說細節:

1、首先獲取文件(音視頻、圖片)

分兩種情況,一種是在相冊庫里直接獲取,一種是調用相機。如果是通過UIImagePickerView來獲取(細節不詳述,網上一大堆),我們會發現當你選定一個視頻的時候,會出現圖1的壓縮頁面,最後我們的app獲取的視頻就是這個經過壓縮後的視頻(不是視頻庫里的原始視頻,這里有個注意點,操作完該壓縮視頻後記得釋放,系統不會幫你釋放的,需要你手動來操作,下面會說到),然後通過UIImagePickerView的協議方法中的- (void)imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaWithInfo:(NSDictionary*)info獲取視頻的Info

fileInfo = {

= "public.movie";

= "file:///private/var/mobile/Containers/Data/Application/2AAE9E44-0E6D-4499-9AC3-93D44D8342EA/tmp/trim.F36EC46C-4219-43C8-96A7-FA7141AB64D2.MOV";

= "assets-library://asset/asset.MOV?id=DEDA9406-3223-4F87-ABB2-98FB5F5EB9C4&ext=MOV";

}

是選取文件的類型,如KUTTypeImage,KUTTypeMovie。這里注意一下movie和video的區別,一個是有聲音的視頻文件,一個是沒有聲音的視頻文件,當然還有Audio是只有聲音沒有視頻。是視頻的URL(如果是相機拍攝的,那麼這個就是原始拍攝得到的視頻;如果是在相冊庫里選擇的,那就是壓縮之後生成的視頻),注意這個URL不指向相冊庫,通過這個URL你可以操作這個視頻如刪除,拷貝等,可以獲取壓縮後的視頻的大小。是一個指向相冊的URL,官方的解釋是an NSURL that references an asset in the AssetsLibrary framework,通過這個URL,你可以獲取視頻的所有信息,包括文件名,縮略圖,時長等(通過ALAssetsLibrary里的assetsLibraryassetForURL:referenceURLresultBlock:)。

如果是相機拍攝的,注意兩個保存方法:圖片保存到相冊:UIImageJPEGRepresentation([infovalueForKey:],(CGFloat)1.0)metadata:nilcompletionBlock: failureBlock:

高保真壓縮圖片的方法NSData * UIImageJPEGRepresentation ( UIImage *image, CGFloat compressionQuality)

視頻保存到相冊::MediaURL completionBlock:failureBlock:

到這里,我們就獲取了所有需要的文件以及文件信息。下面要做的就是將文件分片。

2、將獲取到的文件分片

首先,我將獲取到的文件保存在這這樣一個類中

@interface CNFile :NSObject

@property(nonatomic,)NSString* fileType;//image or movie

@property(nonatomic,)NSString* filePath;//文件在app中路徑

@property(nonatomic,)NSString* fileName;//文件名

@property(nonatomic,assign)NSIntegerfileSize;//文件大小

@property (nonatomic,assign)NSIntegertrunks;//總片數

@property(nonatomic,)NSString* fileInfo;

@property(nonatomic,strong)UIImage* fileImage;//文件縮略圖

@property(nonatomic,strong) NSMutableArray* fileArr;//標記每片的上傳狀態

@end

這樣我們就可以對每一個CNFile對象進行操作了。

-(void)readDataWithChunk:(NSInteger)chunk file:(CNFile*)file{

總片數的獲取方法:

intoffset =1024*1024;(每一片的大小是1M)

NSIntegerchunks = (file.fileSize%1024==0)?((int)(file.fileSize/1024*1024)):((int)(file.fileSize/(1024*1024) +1));

NSLog(@"chunks = %ld",(long)chunks);

將文件分片,讀取每一片的數據:

NSData* data;

NSFileHandle*readHandle = [:file.filePath];

[readHandleseekToFileOffset:offset * chunk];

data = [readHandlereadDataOfLength:offset];

}

這樣我們就獲取了每一片要上傳的數據,然後詢問伺服器,該片是否已經存在

(方法-(void)ifHaveData:(NSData*)data WithChunk:(NSInteger)chunk file:(CNFile*)file)

,如果存在,令chunk+1,重復上面的方法讀取下一片,直到伺服器不存在該片,那麼上傳該片數據。在這個方法中注意設置該chunk的上傳狀態(wait loading finish),這將關繫到本地判斷該文件是否已全部上傳完成。

下一步就是上傳的過程:

-(void)uploadData:(NSData*) data WithChunk:(NSInteger) chunk file:(CNFile*)file;

在伺服器返回該片上傳成功後,我們要做的事有很多:

1)先將已經成功上傳的本片的flag置finish

[file.fileArrreplaceObjectAtIndex:chunk withObject:@「finish"];

2)查看是否所有片的flag都已經置finish,如果都已經finishi,說明該文件上傳完成,那麼刪除該文件,上傳下一個文件或者結束。

for(NSIntegerj =0; j

if(j == chunks || ((j == chunks -1)&&([file.fileArr[j]isEqualToString:@"finish"])))

[medeleteFile:file.filePath];

[mereadNextFile];

}

3)如果沒有都finish,那麼看本地下一chunk對用的flag是否是wait

NSLog(@"查看第%ld片的狀態",chunk+1);

for(NSIntegeri = chunk+1;i < chunks;i++)

{

NSString* flag = [file.fileArrobjectAtIndex:i];

if([flagisEqualToString:@"wait"]) {

[mereadDataWithChunk:ifileName:fileNamefile:file];

break;

}

}

在第2、3步之間可以有一個 2.5)判斷是否暫停上傳

if(me.isPause ==YES)

{

//將目前讀到了第幾個文件的第幾片保存到本地

[selfsaveProgressWithChunk:chunk file:file];

return;

}

這個操作實際上和上傳過程中斷網是一樣的,為了斷點續傳,在斷網或者暫停的時候,我們要將目前的進度保存起來,以便下次上傳時略過前面已置finish的片。

然後還有一個問題,如果我們就這樣線性的一片一片上傳,實際上失去了分片上傳的意義,應該結合多線程,使分片上傳過程並發執行,同時上傳多片,這樣就提高了上傳效率,並充分利用了網路帶寬。

dispatch_async(dispatch_queue_t queue, ^{

[mereadDataWithChunk: chunk];

})

最後注意一下,每上傳完一個視頻,去設置里看看你的app佔用的存儲空間有沒有增大哦,如果你沒有處理那個生成的壓縮視頻,你會發現你的app的空間佔用量是很大的。

站在大牛的肩膀上開發。

❹ iphone的文件連接伺服器支持ftp嗎

支持。

一、確保iPhone可以連接到互聯網,不管是通過4G/5G或者是WIFI。二、iPhone使用Vρ∩功能已經撥入到 PacketiX Vρ∩(派克斯Vρ∩)搭建的伺服器上。使iPad和需要訪問的FTP伺服器在同一個區域網中。

【iPhone自帶的Vρ∩功能可以無障礙的撥入PacketiX Vρ∩搭建的Vρ∩網路中,具體的方法請搜索官方網站】三、接下來介紹如何搭建Windows的FTP伺服器。

1、這里以Windows Server 2003為例來介紹,FTP服務是Windows系統的一個組件,安裝的時候需要Windows Server 2003的系統安裝光碟。

點擊開始→設置→控制面板→添加或刪除程序→添加刪除Windows組件→應用程序伺服器 →Internet信息服務(IIS)→「文件傳輸(FTP)服務」打鉤→點擊「確定」。

2、安裝完成以後,查看電腦中多了C:Inetpubftproot目錄搭旅隱,此時不需要做任何設置,只要把需要被訪問的文件放到此目錄下,其他電腦就可以在IE的地址欄里輸入FTP://伺服器IP地址,來訪問此目錄內的文件。四、在iPhone里下載並安裝FTP 客戶端知廳工具FTP On The Go。(此軟體可能需要付費)五、安裝完成後點擊FTP On The Go圖標進入FTP On The Go客戶端,在Connect To FTP Server欄中輸入Windows FTP伺服器的區域網IP地址,然後點擊Connect。就可連接上WindowsFTP伺服器,並顯示出伺服器內的文件目鎮悄錄。

1、選中想要的文件,點擊下面的「下載」圖標,即可把文件下載到iPhone上。

2、點擊Saved Files,這里出現的文件就是通過FTP工具下載到iPhone的文件。如果是文本文檔,即可打開或編輯。

❺ 蘋果手機可以用FTP嗎

所有手機在建造的時候都具備FTP功能,包括蘋果手機。

FTP的中文簡稱為文傳協議,用於Internet上的控制文件的雙向傳輸。同時,它也是一個應用程序,基於不同的操作系統和碧有不同的FTP應用程序,而所有這些應用程序都遵守同一種協議以傳輸文件。

在FTP的使用當中,用戶經常遇到兩個概念,分別為下載和上傳,下載文件就是從遠程主機拷喚昌舉貝文件至自己的計算機上迅凱,上傳文件就是將文件從自己的計算機中拷貝至遠程主機上。

❻ 如何通過ftp將比較大的文件傳輸給別人

比較麻煩,速度也不快。
用QQ文件中轉站好了,單個文件支持1G
你把文件傳到那後,可以直轎姿接發送郵件給他,郵飢碼件里包含的是文件的下載地址,所以不會受附件大小影響。去爛帆哪QQ郵箱看看吧

❼ 在蘋果電腦中怎樣往FTP伺服器中上傳文件

操作是很簡單的。
第一種方法是用Finder,點擊屏幕頂端菜單欄中的Go,在下拉菜單中選擇連接到伺服器,接著在對話框里輸入FTP地址、用戶名、密碼,登陸後,Finder便會出現FTP的盤符,將你的文件拖進取就可以了,好象使用U盤一樣。不過Finder速度比較慢。
第二種方法,使用FTP上傳軟體,這里推薦Transmit,點擊http://www.panic.com/transmit/可下載。

熱點內容
桑塔納全秀和半袖哪個配置高 發布:2025-02-10 07:55:42 瀏覽:349
手紋演算法 發布:2025-02-10 07:52:27 瀏覽:37
愛奇藝怎麼看賬號密碼 發布:2025-02-10 07:51:43 瀏覽:351
破解訪問許可權 發布:2025-02-10 07:17:24 瀏覽:663
慶余年密碼多少 發布:2025-02-10 07:16:38 瀏覽:201
ftp包括有哪兩個連接 發布:2025-02-10 07:11:50 瀏覽:423
壓縮模量es 發布:2025-02-10 07:11:47 瀏覽:115
雞尾酒配置酒什麼意思 發布:2025-02-10 07:01:34 瀏覽:139
c語言的架構設計 發布:2025-02-10 06:59:59 瀏覽:748
柯南可以緩存 發布:2025-02-10 06:59:52 瀏覽:422