文件檢測能夠提取各類文件中的圖片和文字內容,進行內容安全檢測。文件檢測除了支持解析文件內容,還可以在解析過程中將文件同步轉成圖片,并結合圖片檢測、圖片OCR等方式,實現更全面的保障文件內容合規性。本文介紹如何調用文件檢測接口檢測文件內容的方法。
功能介紹
功能項 | 文件檢測 |
支持檢測圖片所在的文件格式 | 支持DOC、DOCX、PPT、PPTX、PDF、XLS、XLSX、TXT格式 |
檢測圖片中的文字 | 支持 |
文件大小限制 | 200 MB |
同時檢測文件的數量 | 10路 |
近線檢測模式(用于批量文件檢測) | 支持 |
其他 |
|
使用說明
業務接口:/green/file/asyncscanv2,表示文件異步檢測。
您可以調用該接口創建文件內容檢測任務。關于如何構造HTTP請求,請參見請求結構;您也可以直接選用已構造好的HTTP請求,更多信息,請參見SDK概覽。
計費信息
根據文件實際檢測的圖片和文本量計費。
圖片
按照檢測的圖片的頁數x圖片檢測場景(文件每頁圖片進行鑒黃、涉政暴恐和圖文違規的檢測)計費。另外,開啟文件的圖片檢測時,會產生智能媒體管理(IMM)轉換文件的費用。關于文件轉換費用,請參見產品計費。
文本
按照檢測文本的條數x文本反垃圾場景計費。待檢測文本的每5,000字符被拆分為一條文本進行檢測并計費。關于文本反垃圾檢測場景費用,請參見文本內容檢測計費詳情。
計費案例:例如待檢測的一個PDF文件總共100頁,共100萬字符的文本,文件檢測總費用為圖片和文本的費用之和。
圖片:文件轉換費用(0.08元/次)+100頁x圖片檢測3個場景(6.85元/千張)=0.08元+0.685元
文本:200條文本x文本反垃圾檢測費用(1.8元/千條)=0.36元
共計:(0.08+0.685)+0.36=1.125元
并發限制
本接口的單用戶QPS限制為5次/秒。超過限制,API調用會被限流,這可能會影響您的業務,請合理調用。
同時檢測的文件數量限制10個,超過限制后會返回錯誤碼588。如果您需更高的檢測并發路數,請加入釘群(釘群號:35573806),聯系產品技術專家進行咨詢。。
請求參數
名稱 | 類型 | 是否必選 | 示例值 | 描述 |
bizType | String | 否 | default | |
offline | Boolean | 否 | false | 是否近線檢測模式。
|
modType | String | 否 | All | 指定檢測類型:
說明 建議對DOC、DOCX、PPT、PPTX、PDF文件同時檢測圖片和文字內容;對XLS、XLSX、TXT文件僅檢測文本。 |
maxPages | Integer | 否 | 200 | 檢測文件頁數限制,默認為200頁(條),最大支持1,000頁上限。 文件中文本內容每5,000字拆分一條檢測,最多檢測1,000條。 |
callback | String | 否 | http://www.aliyundoc.com/xx.json | 異步檢測任務不會實時返回檢測結果,您需要通過callback或者輪詢的方式獲取檢測結果。檢測結果最長保留一小時。 callback接口必須支持POST方法、UTF-8編碼的傳輸數據,以及表單參數checksum和content。內容安全按照以下規則和格式設置checksum和content,調用您的callback接口返回檢測結果。
說明 您的服務端callback接口收到內容安全推送的結果后,如果返回的HTTP狀態碼為200,則表示接收成功,其他的HTTP狀態碼均視為接收失敗。接收失敗時,內容安全將最多重復推送16次檢測結果,直到接收成功。重復推送16次后仍未接收成功,則不再推送,建議您檢查callback接口的狀態。 |
seed | String | 否 | test | 隨機字符串,該值用于回調通知請求中的簽名。 由英文字母、數字、下劃線(_)組成,不超過64個字符。由您自定義,用于在接收到內容安全的回調通知時校驗請求由阿里云內容安全服務發起。 說明 當使用callback時,該字段必須提供。 |
cryptType | String | 否 | SHA256 | 使用回調通知時(callback),設置對回調通知內容進行加密的算法。內容安全會將返回結果(由
|
tasks | JSONArray | 是 | 指定檢測對象,JSON數組中的每個元素是一個檢測任務Object。最多支持100個元素,即每次提交100條內容進行檢測,支持100個元素的前提是需要將并發任務調整到100個以上。關于每個元素的具體結構描述,請見task。 |
名稱 | 類型 | 是否必選 | 示例值 | 描述 |
clientInfo | JSONObject | 否 | {"userId":"28645****","userNick":"Mike","userType":"others"} | 客戶端信息,請參見公共參數中的公共查詢參數。 服務器會把全局的clientInfo和此處獨立的clientInfo合并。 說明 獨立的clientInfo優先級更高。 |
dataId | String | 否 | test2NInmO$tAON6qYUrtCRgLo-1mwxdi | 檢測對象對應的數據ID。需要保證在一次請求中所有的ID不重復。 |
url | String | 是 | https://www.aliyundoc.com/tfs/TB1urBOQFXXXXbMXFXXXXXXXXXX-1442-257.pdf | 檢測對象的URL。
|
返回數據
名稱 | 類型 | 示例值 | 描述 |
code | Integer | 200 | 錯誤碼,和HTTP狀態碼一致。更多信息,請參見公共錯誤碼。 |
taskId | String | file_t_7Efx6ndTriK5Xx$rD2RFkr-1oB8zu | 該檢測任務的ID。 |
dataId | String | testCvlKbUe4U@6uT6XJxh3G5-1oB8zu | 對應的請求中的dataId。 |
msg | String | OK | 請求信息的響應消息。 |
示例
請求示例
http(s)://[Endpoint]/green/file/asyncscanv2
&<公共請求參數>
{
"bizType":"aligreen-test",
"offline":true,
"modType":"All",
"maxPages":200,
"tasks":[
{
"dataId":"test2NInmO$xxxxxxxxxxxxxx-1mwxdi",
"url":"https://www.aliyundoc.com/tfs/TB1urBOQFXXXXbMXFXXXXXXXXXX-1442-257.pdf"
},
{
"dataId":"test2NInmO$xxxxxxxxxxxxxx-aksdjak",
"url":"https://www.aliyundoc.com/tfs/TB1urBOQFXXXXbMXFXXXXXXXXXX-1442-257.pdf"
}
]
}
正常返回示例
{
"code":200,
"data":[
{
"code":280,
"dataId":"testCvlxxxxxxxxxxxxxxx-1oB8zu",
"msg":"PROCESSING - queue",
"taskId":"file_t_xxxxxxxxxxxxxxx-1oB8zu"
}
],
"msg":"OK",
"requestId":"B15C5A4F-xxxxxxxx-xxxxxxx-446E72C9"
}