ios斷點續傳上傳
㈠ iphone里的其他怎麼刪
iPhone里的其他,主要有幾種情況,而情況以下的刪除方法,需要用第三方軟體來打開,比如ifunbox,同步助手等。
1.情況:itunes同步視頻、音頻文件丟失搭梁
分析原因:由於usb介面等原因,itunes同步有時候不成功,這時,視頻、音頻文件會突然消失。有些時候再次同步就會回來了,但是有時候就不行了,這時候,從容量角度看,itunes的視頻、音頻容量會減少,相應的,其它容量會增加,目的是找出那些丟失的文件,刪除它
清理方法:通過ifunbox找到【/private/var/mobile/media/itunes_control/music】目錄,itunes上傳的多媒體文件(例如mp3、mp4等)存放目錄,文件沒有被修改,但是文件名被修改了,直接下載到電腦即可讀取。都以[F]開頭的文件夾,如F11、F20等,步驟:刪除F形狀文件夾---重啟iphone-連接itunes取消多媒體同步---再次同步
2、情況:itunes同步照片失敗
分析原因:由於不明原因,itunes同步照片會失敗。這時候,原來存在iphone里的圖片照片會找不到,而實際上文件是存在的,圖片照片文件在iphone的【/PRIVATE/VAR/MOBILE/MEDIA/PHOTOS/THUMBS】同級的photodatabase文件。如果這些圖片你還需要,pc里也沒有,那麼你只能把thumbs文件夾里的ithmb文件復制到pc里,然後用format factory軟體解壓(此軟體可通過網路或谷歌搜索)
清理方法:
找到【/private/var/mobile/media/photos/thumbs】目錄,刪除F開頭文件夾-重啟iphone-取消多媒體同步-再次同步
PS:如果光刪除不重新同步也會出現和剛才刪除歌曲同樣的問題那就是打開照片應用能看到縮略圖點開可能就黑掉沒有照片了。
3、情況:安裝和程序刪除不幹凈
分析原因:官方安裝當然是itunes的ipa格式文件,第三方安裝程序如Cydia(包括deb),91,app直接復制粘貼等,雖然itunes、dydia、91都可以通過各自的程序刪除,但是有時候刪除不幹凈,最常見的是用這些程序分別安裝不同版本的同一程序,(相信喜歡在iphone上同時掛幾卜畢個QQ的童鞋,這個不陌生吧)有時候會發現都可以裝進去,但是iphone里只有一個,而且也忘了裝了幾次,有哪些版本,這樣iphone里的垃圾越來越多.這種情況只能進入相應文件夾,打開查找。
清理方法;
A、ipa安裝的是在/private/var/mobile/applications文件夾里,通過安裝日期可以大致確定軟體在什麼地方。
B、cydia,91,手工安裝都放在/private/var/stash/applications文件夾,這里的文件夾名稱都一目瞭然。找到不要的軟體,直接刪除即可,前提是在iphone上已經刪除一遍了,但是沒有刪除干凈的情況,也就是在這些文件夾里發現了一個你已經刪除的軟體,但是還留有它的文件夾。
C、【/user/media/applicationarchives/】此目錄下的所有文件可以安全刪除,裡面通常都是出錯的軟體壓縮包
PS:此處刪除對未越獄的機器也同樣適用,
D、【/tmp】新近發現的itunes同步或刪除失敗的文件,以install_greenmile.xxxxx類型命名的文件,刪
E、【/user/media/publicstaging】itunes安裝失敗的冗餘文件路徑
4、文件管理軟體中文件刪除不幹凈或者存留在回收站里(實際未刪除)
分析原因:例如型枝芹mobilestudio文件管理軟體。可以在mobilestudio里刪除、復制粘貼、換名等操作。但是mobilestudio有個回收站,刪除的文件都在回收站里,如果不清空回收站,文件還在裡面。當然,其它的容量就不會被釋放出來,再如著名的ifile,默認沒有打開回收站,如果開啟了回收站就有可能遺忘那些刪除過的文件。
清理方法:找到文件管理軟體的回收站文件夾,刪除回收站內的文件。
5、cydia、91、APP手工安裝的軟體都計入其它容量里,如果全部都是通過這些程序安裝的軟體,那麼就不必大驚小怪其它會很大了...自己把不想要的刪除即可
A、【/private/var/mobile/Library/NetDragon/Applications】是91程序安裝失敗後殘留垃圾文件路徑,只能刪除安裝失敗的那個程序,如果刪掉文件夾會導致程序無法打開
B、【/private/var/cache/apt/archives/partial】cydia沒下載完的內容,cydia會不定期把下載的內容刪掉,而且cydia下載是可以斷點續傳的,重新安裝很可能繼續下載下去,如果從頭開始下,那就是沒下載的部份已經被自動刪掉了,如果裡面有不想要的,而且沒有下載完成的deb文件,可以直接刪除。
C、【/var/mobile/Media/ApplicationArchives】在第2台電腦打開Itunes同步時,如果該電腦沒有iphone上的軟體,則會提示,是否將軟體傳輸到當前電腦,該目下就是生成這個臨時zip格式的APP軟體的,有則可以安全刪除(舉個例子說明此處最容易產生錯誤文件的操作,比如8Giphone裡面已經安滿了各種應用已經所剩1G左右的空閑空間了,然後現在想要把手機里的應用同步到電腦即在itunes中選擇傳輸已購買項目,此時肯定會報錯,然後會發現可用空間可能已經變成0了。因為itunes傳輸已購買項目的方式其實就是把手機里的應用先打包再發送回電腦,但是手機上的應用太多或有的單個應用已經超過你的可用空間了根本無法打包,則會出現錯誤,然而有的已經打包的又未傳輸到電腦的文件就留在了這個文件夾中)
其實這里也就說明一點ipa應用其實都是一個壓縮文件到iphone上安裝都是需要經過解壓一次的,也就是為什麼像安裝900m的無盡之劍如果你的可用空間小於1.8G安裝肯定會提示你可用空間不足的原因。
6、Email附件也是在其它里,如果有未刪除的郵件附件,或者下載的郵件附件,可以刪除騰出空間
7、safari下載的ipa和deb,如果有安裝safari下載插件,是否記得清除了下載的文件?
8、【var/vm】目錄里以前安裝虛擬內存留下的,有則刪除之
9、【var/mobile/Library/Caches/】目錄,如果裡面有proswitcher開頭的虛擬文件,則刪除之(千萬不要把本目錄所有文件直接刪除,否則所有的程序全部變成其他,備份了也沒有!!切記!!
注意:
1、操作前注意備份文件,以防萬一。
2、步驟1、2中直接用ifunbox刪除後必須重啟機器(注銷無效),否則圖片、音樂、視頻無法同步和正常播放。因為ifunbox中直接刪除是不會更新itunes資料庫的。再次強調
3、珍愛IPHONE助手,遠離91。用91安裝pxl格式軟體,其它佔用超5G的。
4、其它是無法徹底清除的,新刷的機器其它會佔用600M左右,而且隨著iphone的使用其它會越變越大...通常只要不是大得離譜比如四五個G那麼大可不必理會,最簡單的解決其它的方法,就是重新刷機且不要直接恢復原有數據,否則其它可能會直接回來。
5、其它其實根本不會影響機器穩定性和使用,只是佔用了一些空間,佔用個幾百光很正常,幾個G的可按上述方法查看,本文只針對愛折騰和對空間敏感人士。
當然這里的ifunbox軟體你可以換成其他的,比如同步助手等。
以上就是其他的內容,以及清理方法了。
㈡ ios系統怎麼斷點續傳,我用itunes 更新系統時一暫停就得從頭開始。1G那,要下幾小時,得從頭來幾次
你可以去威鋒網上直接用迅雷下載固件,和在iTunes裡面下載到的固件是一樣的,這樣下載速度更快
㈢ 對方發送的文件已過期如何恢復
對方發送的文件已過期的恢復方法如下:
工具:蘋果12手機、iOS 14、微信8.0.33。
1、首先打開手機微信,點擊右下角的「我」,選擇「設置」選項,進入之後,點擊「幫助與反饋」選項。
文件傳輸功能
文件秒傳枝埋能力,單個文件上傳時敏搭唯,pc端可上傳的最大文件不超過500GB ,web端不超過500GB ,app不超過100GB。多人上傳相同的文件時,只需其中一人成功上傳,其他人都能自動快速完成上傳。
文件下載能力,文件下載不限速, 文件大小、數量不受限制。拖拽上傳能力,文件上傳橋培時,您可將文件拖拽進行上傳。文件名重復自動區分能力,上傳文件時,若文件名重復,後上傳的文件會自動重命名,將在原文件名稱後增加上傳時間。
分片上傳、斷點續傳下載能力,可以支持因網路狀態、電腦狀態導致的文件傳輸到一半失敗後,重新開始請求時無需重新等待前半段已傳輸成功的文件。
㈣ iOS 有沒有支持斷點續傳的 FTP 庫,Swift OC 版本的都行
CuteFTP 沒文版
㈤ 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的空間佔用量是很大的。
站在大牛的肩膀上開發。
㈥ iOS視頻斷點續傳如何實現的呢
- (IBAction)resumeInterruptedDownload:(id)sender { NSURL *url = [NSURL URLWithString: ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; NSString *downloadPath = @"/Users/ben/Desktop/asi.png"; //當request完成時,整個文件會被移動到這里 [request setDownloadDestinationPath:downloadPath]; //這個文件已經被下載了一部分 [request setTemporaryFileDownloadPath:@"/Users/ben/Desktop/asi.png.download"]; [request :YES]; [request startSynchronous]; //整個文件將會在這里 NSString *theContent = [NSString stringWithContentsOfFile:downloadPath]; } 斷點續傳的工作原理是讀取temporaryFileDownloadPath的文件的大小,並使用Range: bytes=x HTTP頭來請求剩餘的文件內容。 ASIHTTPRequest並不檢測是否存在Accept-Ranges頭(因為額外的HEAD頭請求會消耗額外的資源),所以只有確定伺服器支持斷點續傳下載時,再使用這個特性。轉載,僅供參考。
㈦ ios中download task斷點續傳過程中只要resume data就可以了嗎
在NSURLSession代理方法的實現體重寫如下代碼即可 - (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didWriteData:(int64_t)bytesWritten totalBytesWritten:(int64_t)totalBytesWritten tot...
㈧ ios 開發 怎麼測試斷點續傳
① 「其他」是iOS自動產生的「正常」文件(並非大家說的系統文件)
② 「其他」會隨著你安裝的應用程序、歌曲、照片、視頻等文件逐漸增大(因為存儲位置不同)
③ 「其他」是有很大的水分的,並非真正存在那麼多垃圾文件,它們可以被「縮減」
④ 非「iTunes」傳輸到機器裡面的文件全部被識別為「其他」(尤其是用91安裝的pxl格式軟體)
⑤ 每個人使用情況不同,清理方法因人而異,需要具體分析,最直接的方法是刷機
⑥ 如果不是我等有「潔癖」的FY可以完全無視「其他」
⑦ 沒有越獄的朋友請直接無視「其他」吧