1. 程式人生 > >curl傳送檔案 post圖片的兩種方式

curl傳送檔案 post圖片的兩種方式

  • First Type:

    curl
    -F "[email protected]/mnt/shared/Image/jpg/Screensho1t.jpg; filename='Screensho1t.jpg'"
    http://127.0.0.1:8080/picture

    -F 指定data的引數,
    "[email protected]/mnt/shared/Image/jpg/Screensho1t.jpg; filename='Screensho1t.jpg'"
    類似於html中
    <input type="file" name="pic" />
    <input type="text" name="filename" />

    -H指定上傳資料的頭資訊

    最後一個引數指定地址

    多圖上傳:
    curl
    -F "[email protected]/mnt/shared/Image/jpg/1.jpg; filename='1.jpg'"
    -F "[email protected]/mnt/shared/Image/jpg/2.jpg; filename='2.jpg'"
    http://127.0.0.1:8080/picture

    帶頭資訊上傳:
    curl
    -F "[email protected]/mnt/shared/Image/jpg/1.jpg; filename='1.jpg'"
    -H "Content-filename:1.jpg"
    http://127.0.0.1:8080/picture

  • Second Type:
    手寫curl檔案上傳:

    使用curl 上傳檔案,multipart/form-data

    1. 不使用-F,curl內建multipart/form-data功能;

    2. 檔案內容與真實資料無關,用abc代替資料,依然可以上傳成功,這裡是檔案的二進位制內容;

    3. name 為服務端獲取檔案的欄位;

    4. 換行和—的數量需要一致;

    5. -H指定頭部資訊,上傳檔案時在頭部的Content-Type指定格式和分隔符;

    6. boundary引數為內容分割,“-”的數量比後面資料裡面少2;

    7. –data 指定post的資料資訊,圖片內容在data內;
    8. 需要注意在data最後還有兩個“–”。
curl -H "Content-Type: multipart/form-data; boundary=----------WebKitFormBoundarykwAk3YkABYxtSoqv"
--data " ------------WebKitFormBoundarykwAk3YkABYxtSoqv Content-Disposition: form-data; name="file"; filename="selfi.jpg" Content-Type: image/png abc ------------WebKitFormBoundarykwAk3YkABYxtSoqv-- " http://127.0.0.1:8080/picture

下面給一個shell,不過沒有成功,有能力的可以看看:

total=$(cat /mnt/shared/Image/1.jpg)
curl -H "Content-Type: multipart/form-data; boundary=----------WebKitFormBoundarykwAk3YkABYxtSoqv" --data '
------------WebKitFormBoundarykwAk3YkABYxtSoqv
Content-Disposition: form-data; name="pic"; filename="1.jpg"
Content-Type: image/jpeg

'"$total"'
------------WebKitFormBoundarykwAk3YkABYxtSoqv--
' http://127.0.0.1:8080/picture

相關推薦

curl傳送檔案 post圖片方式

First Type: curl -F "[email protected]/mnt/shared/Image/jpg/Screensho1t.jpg; filename='Scree

Linux服務器之間傳送文件的方式

linux服務器傳送文件方式一: scp【優點】簡單方便,安全可靠;支持限速參數 【缺點】不支持排除目錄【用法】scp就是secure copy,是用來進行遠程文件拷貝的。數據傳輸使用 ssh,並且和ssh 使用相同的認證方式,提供相同的安全保證 。scp [參數] <源地址(用戶名@IP地址或主機名)

FileInputStream讀取位元組流。讀取檔案資料的方式(寫的好)

總結:    //1讀取檔案的資料到位元組流inputStream     InputStream inputStream = new FileInputStream("D:\\demo.txt");//讀取檔案的資料到位元組流inputStream。

檔案處理,檔案的開啟方式以及檔案修改的方式

1. 什麼是檔案 檔案是作業系統為應用程式或者使用者提供一種操作硬碟的虛擬單位 強調: 檔案是作業系統提供的虛擬單位 應用程式或者使用者對檔案的讀寫操作其實都是向作業系統傳送指令2. 為何要用檔案 檔案對應的硬碟空間,如果需要考慮永久儲存資料那必須使用檔案3. 如

Java上帝之眼系列配置Spring專案檔案上傳方式(全解析)

歡迎檢視Java開發之上帝之眼系列教程,如果您正在為Java後端龐大的體系所困擾,如果您正在為各種繁出不窮的技術和各種框架所迷茫,那麼本系列文章將帶您窺探Java龐大的體系。本系列教程希望您能站在上帝

spring之AOP操作(基於aspectJ實現)--配置檔案和註解方式實現

AOP概念   1 aop:面向切面(方面)程式設計,擴充套件功能不修改原始碼實現     2  AOP採取橫向抽取機制,取代了傳統縱向繼承體系重複性程式碼     3 aop底層使用動態代理實現     (1)第一種情況,有介面情況,使用動態代理建立介面實現類代理物

【SSM】檔案下載的方式

檔案下載的兩種方式 第一種:檔名和大小都是固定的 第二種:檔案有很多,檔名不固定 今天專案中用到了一個檔案下載的方式,將一個app放在伺服器上,可以直接下載,剛開始想到了使用輸出檔案流的方式,思路有了,就直接上手寫了,參考網上的資料,整理出來了一

SpringMVC實現檔案下載的方式及多檔案下載

1.傳統方法 @RequestMapping("/download") public String download( String fileName ,String filePath, HttpServletRequest request, HttpServl

JSP程式中response物件實現檔案下載的方式

  這篇文章主要介紹了JSP隱含物件response實現檔案下載的兩種方法,很簡單,但很實用,需要的朋友可以參考下。   一.JSP隱含物件response實現檔案下載的介紹   (1)在JSP中實現檔案下載最簡單的方法是定義超連結指向目標資源,使用者單擊超連結後直接下載資源,但直接暴露資源的URL   也

java實現檔案下載的方式

public HttpServletResponse download(String path, HttpServletResponse response) {        try {            // path是指欲下載的檔案的路徑。            Fi

Java:FileInputStream讀入檔案資料的方式

FileInputStream是位元組流,它的read()方法允許一個位元組一個位元組的讀入,也允許先把資料存到緩衝區位元組陣列中,再一次性讀取整個陣列——在實際開發中,通常使用後者

Java實現檔案複製的方式

import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import j

SpringBoot直接讀取預設屬性檔案application的方式

第一種 @Configuration public class ADConfig { @Value("${ad.username}") private String adminName; @Value("${ad.password}")

從request中獲取檔案流的方式

Collection<Part> parts = req.getParts(); for (Iterator<Part> iterator = parts.iterator(); iterator.hasNext();) {     Part part = iterator.next(

java 實現檔案複製的方式

  檔案複製首先我們要考慮的是用字元流還是檔案流操作呢?     若我們考慮的僅僅是文字之類的複製,字元流要好些。但是不可能總是文字檔案吧,有可能是聲音,影象,視訊等等,所以使用位元組流操作比較好。     複製的兩種方式       1.將原始檔中的內容全部讀取到記憶體中,並一次性寫入到目標檔案      

js 圖片base64轉file檔案方式

        最近專案中需要實現把圖片的base64編碼轉成file檔案的功能,然後再上傳至伺服器。起初是直接通過new File()的方式進行轉換,在各個主流的瀏覽器基本上都支援,Android也沒問題,但是在ios系統埋了個坑,ios11.4以下的系統上傳失敗。定位bu

js form表單傳送資料方式post get)區別

<!DOCTYPE HTML> <html> <head> <title>please enter your title</

java通過Http請求訪問網路圖片檔案返回byte陣列的方式

第一種方式,使用HttpURLConnection 使用HttpURlConnection傳送一個get請求,開啟一個連線,從連接獲取到流,將流轉成byte陣列 /** * 發起Get請求 * * @param urlStr * @

Network 【用 AFN 通過 POST 方式傳送JSON資料的形式】

POST 傳送資料有兩種形式:1、傳送純文字的內容 2、傳送的 body 部分帶有檔案(圖片,音訊或者其他二進位制資料) 1、使用 POST 方式傳送純文字內容: [mgr POST:@"https://AAAAA" parameters:params success:^(AFHTTPRequestOpe

GET與POST比較-使用HTTP協議將客戶端的請求傳送到伺服器端的方式

1、get是從伺服器上獲取資料,post是向伺服器傳送資料;2、 在客戶端,get方式在通過URL提交資料,資料在URL中可以看到,post方式資料放置在HTML HEADER內提交;3、 對於ge