ioshttp上傳文件
1. http中上傳文件的原理
http中上傳文件的原理如下:
在最初的http協議中,沒有上傳文件方面的功能。 rfc1867 ( http://www.ietf.org/rfc/rfc1867.txt ) 為 http 協議添加了這個功能。客戶端的瀏覽器,如 Microsoft IE, Mozila, Opera 等,按照此規范將用戶指定的文件發送到伺服器。伺服器端的網頁程序,如 php, asp, jsp 等,可以按照此規范,解析出用戶發送來的文件。Microsoft IE, Mozila, Opera 已經支持此協議,在網頁中使用一個特殊的 form 就可以發送文件。絕大部分 http server ,包括 tomcat ,已經支持此協議,可接受發送來的文件。各種網頁程序,如 php, asp, jsp 中,對於上傳文件已經做了很好的封裝。
超文本傳輸協議(HTTP,HyperText Transfer Protocol)是互聯網上應用最為廣泛的一種網路協議。所有的WWW文件都必須遵守這個標准。設計HTTP最初的目的是為了提供一種發布和接收HTML頁面的方法。1960年美國人Ted Nelson構思了一種通過計算機處理文本信息的方法,並稱之為超文本(hypertext),這成為了HTTP超文本傳輸協議標准架構的發展根基。
2. 如何快速將電腦上的文件發送到ios設備
第一種最快的方法是用電腦QQ把文件發送到我的手機
第二種是連接電腦發送
1,在電腦上下載一個蘋果助手,比如XY,91等,
2,把手機接到電腦上找到手機的對應應用程序,把對應的文件導入到對應程序,如果是視頻和圖片的話可以在圖片和視頻一欄直接導入。
3. ios qq 上傳文件 怎麼實現的
都是使用UDP協議進行發送和接收「消息」的。當你的機器安裝了 以後,實際上,你既是服務端(Server),又是客戶端(Client)。當你登錄 時,你的 作為Client連接到騰訊公司的主伺服器上,當你「看誰在線」時,你的 又一次作為Client從 Serve
4. iphone如何連接電腦傳輸文件
將蘋果手機連接到電腦,實現文件的導入導出,是用戶比較常見的一種蘋果手機多媒體管理操作。目前,可以實現這種操作的工具軟體有iTunes以及各種助手等。下面小編給大家介紹蘋果手機怎麼連接電腦傳文件。
1、用蘋果手機正品數據線連接到電腦上的 USB 埠,電腦系統會自動識別出蘋果手機的內部存儲器。內部存儲器包括包括手機上的照片和視頻,可以在電腦上把照片或者視頻從蘋果手機上拷貝到電腦上。
2、蘋果手機直接連接電腦除了可以打開儲存器以外,還可以通過電腦的 USB 埠為手機電池充電。當蘋果手機在充電時,可以在鎖屏界面看到充電電池圖標,還可以在屏幕右上角看到電池為充電狀態。
3、如果想要用電腦來管理蘋果手機,除了直接把手機連到到電腦上,還需要做什麼呢?要在電腦管理 iPhone 上的其它內容,比如應用程序,音樂,影片,鈴聲,信息之類的,需要藉助蘋果的 iTunes 軟體。
4、如果你的電腦沒有安裝 iTunes 軟體,請去蘋果官網下載: //www.apple.com.cn/itunes/download/ ,點擊「立刻下載」按鈕即可開始下載。等待下載完成以後,運行 iTunes 安裝程序,根據提示安裝即可。安裝完成以後請重新啟動電腦。
5、然後把 iPhone 與電腦用原配數據線連接起來,然後打開 iTunes 軟體。待 iTunes 識別出來 iPhone 以後,點擊 iPhone 設備圖標。
6、隨後即可進入 iPhone 的管理界面,上面頂部一排是管理內容分類,如摘要,信息,應用程序,鈴聲等。
7、然後就可以從電腦上管理手機了,您也可以在電腦上為手機下載應用、鈴聲、影片等等。
5. ios如何實現http協議數據流上傳
我也遇到同樣的問題,請問你解決了嗎,解決了求分享一下?
6. ios怎樣使用multipart from方式上傳網路數據
在網路編程過程中需要向伺服器上傳文件。Multipart/form-data是上傳文件的一種方式。
Multipart/form-data其實就是瀏覽器用表單上傳文件的方式。最常見的情境是:在寫郵件時,向郵件後添加附件,附件通常使用表單添加,也就是用multipart/form-data格式上傳到伺服器。
表單形式上傳附件
具體的步驟是怎樣的呢?
首先,客戶端和伺服器建立連接(TCP協議)。
第二,客戶端可以向伺服器端發送數據。因為上傳文件實質上也是向伺服器端發送請求。
第三,客戶端按照符合「multipart/form-data」的格式向伺服器端發送數據。
Multipart/form-data的格式是怎樣的呢?
既然Multipart/form-data格式就是瀏覽器用表單提交數據的格式,我們就來看看文件經過瀏覽器編碼後是什麼樣子。
//---------------------------------------
// this is the demo code of using multipart/form-data to upload text and
photos.
// -use WinInet APIs.
//
//
// connection handlers.
//
HRESULT hr;
HINTERNET m_hOpen;
HINTERNET m_hConnect;
HINTERNET m_hRequest;
//
// make connection.
//
...
//
// form the content.
//
std::wstring strBoundary = std::wstring(L"------------------");
std::wstring wstrHeader(L"Content-Type: multipart/form-data, boundary=");
wstrHeader += strBoundary;
HttpAddRequestHeaders(m_hRequest, wstrHeader.c_str(),
DWORD(wstrHeader.size()), HTTP_ADDREQ_FLAG_ADD);
//
// "std::wstring strPhotoPath" is the name of photo to upload.
//
//
// uploaded photo form-part begin.
//
std::wstring strMultipartFirst(L"--");
strMultipartFirst += strBoundary;
strMultipartFirst += L"
Content-Disposition: form-data; name="pic";
filename=";
strMultipartFirst += L""" + strPhotoPath + L""";
strMultipartFirst += L" Content-Type: image/jpeg ";
//
// "std::wstring strTextContent" is the text to uploaded.
//
//
// uploaded text form-part begin.
//
std::wstring strMultipartInter(L" --");
strMultipartInter += strBoundary;
strMultipartInter += L"
Content-Disposition: form-data;
name="status"
";
std::wstring
wstrPostDataUrlEncode(CEncodeTool::Encode_Url(strTextContent));
// add text content to send.
strMultipartInter += wstrPostDataUrlEncode;
std::wstring strMultipartEnd(L" --");
strMultipartEnd += strBoundary;
strMultipartEnd += L"-- ";
//
// open photo file.
//
// ws2s(std::wstring)
// -transform "strPhotopath" from unicode to ansi.
std::ifstream *pstdofsPicInput = new std::ifstream;
pstdofsPicInput->open((ws2s(strPhotoPath)).c_str(),
std::ios::binary|std::ios::in);
pstdofsPicInput->seekg(0, std::ios::end);
int nFileSize = pstdofsPicInput->tellg();
if(nPicFileLen == 0)
{
return E_ACCESSDENIED;
}
char *pchPicFileBuf = NULL;
try
{
pchPicFileBuf = new char[nPicFileLen];
}
catch(std::bad_alloc)
{
hr = E_FAIL;
}
if(FAILED(hr))
{
return hr;
}
pstdofsPicInput->seekg(0, std::ios::beg);
pstdofsPicInput->read(pchPicFileBuf, nPicFileLen);
if(pstdofsPicInput->bad())
{
pstdofsPicInput->close();
hr = E_FAIL;
}
delete pstdofsPicInput;
if(FAILED(hr))
{
return hr;
}
// Calculate the length of data to send.
std::string straMultipartFirst = CEncodeTool::ws2s(strMultipartFirst);
std::string straMultipartInter = CEncodeTool::ws2s(strMultipartInter);
std::string straMultipartEnd = CEncodeTool::ws2s(strMultipartEnd);
int cSendBufLen = straMultipartFirst.size() + nPicFileLen +
straMultipartInter.size() + straMultipartEnd.size();
// Allocate the buffer to temporary store the data to send.
PCHAR pchSendBuf = new CHAR[cSendBufLen];
memcpy(pchSendBuf, straMultipartFirst.c_str(),
straMultipartFirst.size());
memcpy(pchSendBuf + straMultipartFirst.size(), (const char *)pchPicFileBuf,
nPicFileLen);
memcpy(pchSendBuf + straMultipartFirst.size() + nPicFileLen,
straMultipartInter.c_str(), straMultipartInter.size());
memcpy(pchSendBuf + straMultipartFirst.size() + nPicFileLen +
straMultipartInter.size(), straMultipartEnd.c_str(),
straMultipartEnd.size());
//
// send the request data.
//
HttpSendRequest(m_hRequest, NULL, 0, (LPVOID)pchSendBuf, cSendBufLen)
7. iOS 江湖救急!!!怎樣將音頻文件上傳到伺服器
http上傳 把文件以body形式上傳到伺服器 NSFileHandle* handler = [NSFileHandle fileHandleForReadingAtPath:_fileURL];
[handler seekToFileOffset:(unsigned long long)_range.location];
NSData* body = [handler readDataOfLength:_range.length];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:url]];
[request setHTTPMethod:@"POST"];
[request setValue:@"video/mp4" forHTTPHeaderField:@"Content-Type"];
[request setValue:[NSString stringWithFormat:@"%d",body.length] forHTTPHeaderField:@"Content-Length"];
[request setValue:@"no-cache" forHTTPHeaderField:@"Cache-Control"];
[request setHTTPBody:body];
然後伺服器接收body 二進制流
8. 在蘋果電腦中怎樣往FTP伺服器中上傳文件
1、首先選擇需要上傳的文件,右鍵打開菜單,點擊復制。
9. 怎樣實現多文件上傳 在iOS開發中
參考如下:
NSURL* url = [NSURL URLWithString:@"xxx"];
ASIFormDataRequest* request = [ASIFormDataRequest requestWithURL:url];
request.uploadProgressDelegate = viewPost.progressView;
request.showAccurateProgress = YES;
request. = YES;
if ([imageArray count] > 0)
{
[request setPostFormat:];
for (NSData* data in imageArray) {
NSInteger idx = [imageArray indexOfObject:data];
[request addData:data withFileName:[NSString stringWithFormat:@"image%d.png",idx] andContentType:@"image/png" forKey:@"photos[]"];
}
}
10. ios 怎麼將語音上傳到伺服器
http上傳 把文件以body形式上傳到伺服器 NSFileHandle* handler = [NSFileHandle fileHandleForReadingAtPath:_fileURL]; [handler seekToFileOffset:(unsigned long long)_range.location]; NSData* body = [handler readDataOfLength:_range.l...