ios表單上傳
❶ 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)
❷ ios能回傳app么
您好,可以的,
開發者提交應用的過程要簡單得多,可以直接使用Xcode提交。首先在iTunesConnect中創建應用程序,進入iTunesConnect,用您的iOS開發者賬號登錄,點擊右側的「管理您的應用程序」,點擊左上角的「添加新應用程序」,選擇「iOS app」,完成表單。
填寫基本信息
出現在App Store中的應用程序的名稱應該是唯一的。該名稱可以與主界面圖標下方的名稱不同,但建議使用相同的名稱。
SKU Number是一個標識應用程序的特殊字元串。我經常使用我的應用程序的bundle identifier。底部是你應用的Bundle ID,你可以選擇通配符app ID或從底部菜單中選擇確切的app ID。
圖4。指定名稱、SKU號和Bundle ID
第二步:價格和可用性
接下來,確定應用的價格和有效性。蘋果已經確定了價格梯度,所以你不需要在每個國家選擇應用的價格,你只需要指定它將在哪個國家銷售。一旦應用程序顯示在App Store中,這些信息就可以更改,這意味著你可以在不提交或更新的情況下更改價格。
指定價格和可用性
步驟3:元數據
我們已經討論了元數據,但沒有討論應用程序評級。蘋果根據應用的內容和功能給應用評級,比如很多應用的評級為4+,500px的評級為17+。除了告訴用戶應用的內容和功能,父母也可以放心。
如果你的評級與內容不符,蘋果也會拒絕你的應用。
圖6。輸入應用程序元數據和評級
步驟4:准備上傳二進制文件
提交應用的元數據後,你會看到一些關於應用的摘要信息。在提交應用之前,你應該查看應用的版本。點擊「查看詳細信息」按鈕,然後點擊右上角的「准備上傳二進制文件」。然後你會被問到一個或多個關於應用程序的問題,當你完成後,你會看到一個提示,告訴你准備上傳二進制文件。應用程序的狀態變成「等待上傳」。
圖7。應用程序配置文件
5. 上傳二進制文件
要上傳程序,您需要為程序創建一個Archive。只能在真實設備上創建Archive。如果你在激活的方案中選擇iOS模擬器,Xcode的產品菜單中的存檔選項是灰色的,並且不是可選的。連接iOS設備到Mac機器,然後在active Scheme中選擇設備,然後在Xcode的Proct菜單中選擇Archive。
用Xcode存檔應用程序
如果一切順利,你現在應該得到一個存檔,Xcode的管理器會自動打開並顯示你剛剛生成的存檔。在列表中選擇存檔,然後點擊右邊的「分發」按鈕。在彈出的界面中,選擇「提交到iOS App Store」。然後輸入你的iOS開發者賬號進行認證。然後選擇應用程序和代碼簽名身份。
你的應用程序的二進制文件被上傳到蘋果的伺服器上——你的應用程序也需要在這個過程中被驗證。如果在驗證過程中遇到錯誤,程序的提交流將失敗。驗證過程非常有用,如果你的應用有問題,蘋果的App Store審查小組會告訴你原因。
❸ 上傳文件,html里的input type="file" 在蘋果終端上不可用,顯示為灰色。其他終端都正常
為了解決用戶可能碰到關於"上傳文件,html里的input type="file" 在蘋果終端上不可用,顯示為灰色。其他終端都正常"相關的問題,突襲網經過收集整理為用戶提供相關的解決辦法,請注意,解決辦法僅供參考,不代表本網同意其意見,如有任何問題請與本網聯系。"上傳文件,html里的input type="file" 在蘋果終端上不可用,顯示為灰色。其他終端都正常"相關的詳細問題如下:頁面是jsp,後台是java。功能全部正常。就是在iphone,,ipad,ipod中,inputtype="file"顯示為灰色,如果iphone用戶訪問網頁的話,就不能選擇文件,也不能上傳文件(沒文件選擇)。我...頁面是jsp,後台是java。功能全部正常。
就是在iphone,,ipad,ipod中,input type="file"顯示為灰色,如果iphone用戶訪問網頁的話,就不能選擇文件,也不能上傳文件(沒文件選擇)。
我要的是:iphone用戶訪問網頁,能上傳文件。
回答方向:程序如何打開iphone相冊,或者有iphone專用的消息頭或標簽之類可以選擇本地文件,總之能選擇文件,就OK,功能都正常,在電腦和安卓台都沒有問題,唯獨蘋果的,無法選擇文件。
我看了app里都是會出現點擊某按鈕,彈出select,裡面有 從相冊選擇和拍照。然後可以打開相冊選取文件,或直接拍照上傳。蘋果的台肯定提供了這樣的api可以調取本地的文件系統,和本地攝像頭。只是不會弄而已。
看清楚再回答,混分的關閉問題也不給1分
誰能教會我的,積分10倍送上
如果篇幅太長可發鏈接地址,照樣給分
如果能教會我 像app那樣,可選文件,可拍找上傳的,積分30送上感激不盡
最後,無手機網頁或app開發經驗的人士請勿回答!!展開
===突襲網收集的解決方案如下===
解決方案1:
我也碰到了
安卓正常, 用IPHONE4訪問 , 文件上傳控制項無法點擊
解決方案2:
沒人回答,幫頂,我樓上的那個太沒公德了
解決方案3:
<input id="fileElem1" pictype='30010003' data-role="none" type="file" name="idFile" accept="image/jpg,image/jpeg,image/png,image/gif" /> 需要支持HTML5,調用的是手機相機和圖庫,有問題的話追問吧本回答被網友採納
解決方案4:
ios6以前的系統不支持input中的file
解決方案5:
每人看得起你那點分
html上傳文件代碼
答:html前端代碼: 文件名: 如果是ubuntu上部署apache2,你應該是php開發者吧,action="upload-file.php" 中的upload-file.php改為你自己的後端php接收文件的邏輯代碼即可! 這里提供upload-file.php後端接收文件的代碼: 代碼很簡單,我相信你應該...
html點擊button彈出選擇文件,上傳,這個怎麼實現?
答: 從Excel中批量導入 //上傳文件處理 var fileUpdate_button = document.getElementById("fileUpdate-button"); var fileUpdate_input = document.getElementById("fileUpdate-input"); var fileUpdate_form = document.getElementById("fileUpda...
HTML 網頁中怎麼上傳圖片到某個文件夾
答:上傳至某個文件夾,預覽是在前端完成的 此時還沒有進行上傳操作,上傳是需要後台提供介面的 可以通過form表單上傳,後台通過php,java,asp等 接收form提交的文件存儲到文件中返迴文件的網址鏈接
html點擊button彈出選擇文件,上傳,這個怎麼實現
答: 其中樣式在分別給每一個表單元素自定義class!
如何上傳HTML文件到網頁?
答:沒裝IIS的話,就不能通過ftp的形式上傳了。但是卻可以用文件共享的方法來訪問伺服器的。若是用FTP上傳HTML文件,訪問格式是 ftp://ip地址,如 ftp://192.168.0.1 ,如果ftp伺服器許可權設置OK的話,就應該能上傳HTML文件的。 追問: 我暈 你那裡找來...
怎麼上傳html文件
答:這個沒特殊的方法: 首先要有FTP的賬號密碼等連接信息。 一般的網站空間商都會提供以保證程序安裝數據備份等需要。 賬號密碼可以在空間管理後檯面板獲齲 連接方式,使用客戶端軟體,比如flashfxp就可以 打開客戶端,填寫IP,埠,賬號,密碼。...
html input標簽 file類型,上傳的具體是什麼東西?
答:上傳你選擇的文件和相關信息。 在 HTML 文檔中 標簽每出現一次,一個 FileUpload 對象就會被創建。 該元素包含一個文本輸入欄位,用來輸入文件名,還有一個按鈕,用來打開文件選擇對話框以便圖形化選擇文件。 該元素的 value 屬性保存了用戶指定...
html可以不使用form上傳文件嗎?
答:選好上傳文件並填寫相應信息才能上傳 或是能過js控制,form1先通過ajax submit再讓form2跳轉 或是把值都取出來一起post到伺服器等等方式
如何成功上傳HTML文件
答:HTML中使用input type="file"上傳文件時,代碼中只能得到文件的名稱,而有些特殊的需要要求得到上傳文件的絕對路徑,為此採用Javascript實現得到文件的絕對路徑。 注意:要有enctype="multipart/form-data" Action代碼: String filePath = requ...
html 表單上傳圖片
答:使用表單中的文件域()控制項可以上傳文件。 打開DreamWeaver,這里使用的版本是CS6,新建一個php文件。 保存到網站目錄下,命名為upload.php。 在代碼中插入一個表單 對話框中,操作留空,方法選擇「post」,編碼類型輸入「multipart/form-data」,...
為您准備的相關內容:
html 中上傳文件標簽 <input type="file...把HTML5的手機網站嵌入安卓APP中,發現<input t...html寫的type="file"的input怎麼去掉默認提...html中表單里文本上傳file,怎麼讓他在網頁上只顯示按鈕...在HTML中 使用<input type=」file」上傳...HTML 中的 <INPUT TYPE="FILE"/ 標...關於<input type="file" /的問題html中input type="file"怎麼只限制一種文...