Plupload文件上傳組件使用API

Plupload有以下功能和特點:

1、擁有多種上傳方式:HTML5、flash、silverlight以及傳統的<input type=”file” />。Plupload會自動偵測當前的環境,選擇最合適的上傳方式,并且會優先使用HTML5的方式。所以你完全不用去操心當前的瀏覽器支持哪些 上傳方式,Plupload會自動為你選擇最合適的方式。

2、支持以拖拽的方式來選取要上傳的文件

3、支持在前端壓縮圖片,即在圖片文件還未上傳之前就對它進行壓縮

4、可以直接讀取原生的文件數據,這樣的好處就是例如可以在圖片文件還未上傳之前就能把它顯示在頁面上預覽

5、支持把大文件切割成小片進行上傳,因為有些瀏覽器對很大的文件比如幾G的一些文件無法上傳。

?

使用Plupload的關鍵是了解它眾多的配置參數、事件以及屬性和方法。

目錄:

一、配置參數

二、各種事件說明

三、Plupload實例的屬性

四、Plupload實例的方法

五、文件對象的屬性和方法

六、QueueProgress 對象的屬性

七、plupload命名空間上的一些屬性

一、配置參數

實例化一個plupload對象時,也就是?new plupload.Uploader(),需要傳入一個對象作為配置參數。后面內容中出現的plupload實例均是指new plupload.Uploader()得到的實例對象

屬性類型默認值描述
browse_buttonString / DOM?觸發文件選擇對話框的DOM元素,當點擊該元素后便后彈出文件選擇對話框。該值可以是DOM元素對象本身,也可以是該DOM元素的id
urlString?服務器端接收和處理上傳文件的腳本地址,可以是相對路徑(相對于當前調用Plupload的文檔),也可以是絕對路徑
filtersObject{ }可以使用該參數來限制上傳文件的類型,大小等,該參數以對象的形式傳入,它包括三個屬性:

mime_types:用來限定上傳文件的類型,為一個數組,該數組的每個元素又是一個對象,該對象有title和extensions兩個屬性,title為該過濾器的名稱,extensions為文件擴展名,有多個時用逗號隔開。該屬性默認為一個空數組,即不做限制。

max_file_size:用來限定上傳文件的大小,如果文件體積超過了該值,則不能被選取。值可以為一個數字,單位為b,也可以是一個字符串,由數字和單位組成,如‘200kb‘

prevent_duplicates:是否允許選取重復的文件,為true時表示不允許,為false時表示允許,默認為false。如果兩個文件的文件名和大小都相同,則會被認為是重復的文件

filters完整的配置示例如下(當然也可以只配置其中的某一項):

filters: {mime_types : [ //只允許上傳圖片和zip文件{ title : "Image files", extensions : "jpg,gif,png" }, { title : "Zip files", extensions : "zip" }],max_file_size : ‘400kb‘, //最大只能上傳400kb的文件prevent_duplicates : true //不允許選取重復文件
}
headersObject?設置上傳時的自定義頭信息,以鍵/值對的形式傳入,鍵代表頭信息屬性名,鍵代表屬性值。html4上傳方式不支持設置該屬性。
multipartBooleantruetrue時將以multipart/form-data的形式來上傳文件,為false 時則以二進制的格式來上傳文件。html4上傳方式不支持以二進制格式來上傳文件,在flash上傳方式中,二進制上傳也有點問題。并且二進制格式上傳還 需要在服務器端做特殊的處理。一般我們用multipart/form-data的形式來上傳文件就足夠了。
multipart_paramsObject?上傳時的附加參數,以鍵/值對的形式傳入,服務器端可是使用$_POST來獲取這些參數(以php為例)。比如:
multipart_params: {one: ‘1‘,two: ‘2‘,three: { //值還可以是一個字面量對象a: ‘4‘,b: ‘5‘},four: [‘6‘, ‘7‘, ‘8‘]  //也可以是一個數組
}
max_retriesNumber0當發生plupload.HTTP_ERROR錯誤時的重試次數,為0時表示不重試
chunk_sizeNumber/String0分片上傳文件時,每片文件被切割成的大小,為數字時單位為字節。也可以使用一個帶單位的字符串,如"200kb"。當該值為0時表示不使用分片上傳功能
resizeObject?可以使用該參數對將要上傳的圖片進行壓縮,該參數是一個對象,里面包括5個屬性:

width:指定壓縮后圖片的寬度,如果沒有設置該屬性則默認為原始圖片的寬度

height:指定壓縮后圖片的高度,如果沒有設置該屬性則默認為原始圖片的高度

crop:是否裁剪圖片

quality:壓縮后圖片的質量,只對jpg格式的圖片有效,默認為90。quality可以跟widthheight一起使用,但也可以單獨使用,單獨使用時,壓縮后圖片的寬高不會變化,但由于質量降低了,所以體積也會變小

preserve_headers:壓縮后是否保留圖片的元數據,true為保留,false為不保留,默認為true。刪除圖片的元數據能使圖片的體積減小一點點

resize參數的配置示例如下:

resize: {width: 100,height: 100,crop: true,quality: 60,preserve_headers: false
}
drop_elementDOM/String/Array?指定了使用拖拽方式來選擇上傳文件時的拖拽區域,即可以把文件拖拽到這個區域的方式來選擇文件。該參數的值可以為一個DOM元素的id,也可是 DOM元素本身,還可以是一個包括多個DOM元素的數組。如果不設置該參數則拖拽上傳功能不可用。目前只有html5上傳方式才支持拖拽上傳。
multi_selectionBooleantrue是否可以在文件瀏覽對話框中選擇多個文件,true為可以,false為不可以。默認true,即可以選擇多個文件。需要注意的是,在某些不支持 多選文件的環境中,默認值是false。比如在ios7的safari瀏覽器中,由于存在bug,造成不能多選文件。當然,在html4上傳方式中,也是 無法多選文件的。
required_featuresMix?可以使用該參數來設置你必須需要的一些功能特征,Plupload會根據你的設置來選擇合適的上傳方式。因為,不同的上傳方式,支持的功能是不同 的,比如拖拽上傳只有html5上傳方式支持,圖片壓縮則只有html5,flash,silverlight上傳方式支持。該參數的值是一個混合類型, 可以是一個以逗號分隔的字符串,
unique_namesBooleanfalse當值為true時會為每個上傳的文件生成一個唯一的文件名,并作為額外的參數post到服務器端,參數明為name,值為生成的文件名。
runtimesStringhtml5,flash,
silverlight,
html4
用來指定上傳方式,指定多個上傳方式請使用逗號隔開。一般情況下,你不需要配置該參數,因為Plupload默認會根據你的其他的參數配置來選擇 最合適的上傳方式。如果沒有特殊要求的話,Plupload會首先選擇html5上傳方式,如果瀏覽器不支持html5,則會使用flash或 silverlight,如果前面兩者也都不支持,則會使用最傳統的html4上傳方式。如果你想指定使用某個上傳方式,或改變上傳方式的優先順序,則你 可以配置該參數。
file_data_nameStringfile指定文件上傳時文件域的名稱,默認為file,例如在php中你可以使用$_FILES[‘file‘]來獲取上傳的文件信息
containerDOM/String?用來指定Plupload所創建的html結構的父容器,默認為前面指定的browse_button的父元素。該參數的值可以是一個元素的id,也可以是DOM元素本身。
flash_swf_urlStringjs/Moxie.swfflash上傳組件的url地址,如果是相對路徑,則相對的是調用Plupload的html文檔。當使用flash上傳方式會用到該參數。
silverlight_xap_urlStringjs/Moxie.xapsilverlight上傳組件的url地址,如果是相對路徑,則相對的是調用Plupload的html文檔。當使用silverlight上傳方式會用到該參數。

二、各種事件說明

要了解plupload的運行狀況,靠的就是在這些事件了

Init
當Plupload初始化完成后觸發

監聽函數參數:(uploader)

uploader為當前的plupload實例對象

PostInit
當Init事件發生后觸發

監聽函數參數:(uploader)

uploader為當前的plupload實例對象

OptionChanged
當使用Plupload實例的setOption()方法改變當前配置參數后觸發

監聽函數參數:(uploader,option_name,new_value,old_value)

uploader為當前的plupload實例對象,option_name為發生改變的參數名稱,new_value為改變后的值,old_value為改變前的值

Refresh
當調用plupload實例的refresh()方法后會觸發該事件,暫時不清楚還有什么其他動作會觸發該事件,但據我測試,把文件添加到上傳隊列后也會觸發該事件。

監聽函數參數:(uploader)

uploader為當前的plupload實例對象

StateChanged
當上傳隊列的狀態發生改變時觸發

監聽函數參數:(uploader)

uploader為當前的plupload實例對象

UploadFile
當上傳隊列中某一個文件開始上傳后觸發

監聽函數參數:(uploader,file)

uploader為當前的plupload實例對象,file為觸發此事件的文件對象

BeforeUpload
當隊列中的某一個文件正要開始上傳前觸發

監聽函數參數:(uploader,file)

uploader為當前的plupload實例對象,file為觸發此事件的文件對象

QueueChanged
當上傳隊列發生變化后觸發,即上傳隊列新增了文件或移除了文件。QueueChanged事件會比FilesAdded或FilesRemoved事件先觸發

監聽函數參數:(uploader)

uploader為當前的plupload實例對象

UploadProgress
會在文件上傳過程中不斷觸發,可以用此事件來顯示上傳進度

監聽函數參數:(uploader,file)

uploader為當前的plupload實例對象,file為觸發此事件的文件對象

FilesRemoved
當文件從上傳隊列移除后觸發

監聽函數參數:(uploader,files)

uploader為當前的plupload實例對象,files為一個數組,里面的元素為本次事件所移除的文件對象

FileFiltered
暫不清楚該事件的意義,但根據測試得出,該事件會在每一個文件被添加到上傳隊列前觸發

監聽函數參數:(uploader,file)

uploader為當前的plupload實例對象,file為觸發此事件的文件對象

FilesAdded
當文件添加到上傳隊列后觸發

監聽函數參數:(uploader,files)

uploader為當前的plupload實例對象,files為一個數組,里面的元素為本次添加到上傳隊列里的文件對象

FileUploaded
當隊列中的某一個文件上傳完成后觸發

監聽函數參數:(uploader,file,responseObject)

uploader為當前的plupload實例對象,file為觸發此事件的文件對象,responseObject為服務器返回的信息對象,它有以下3個屬性:

response:服務器返回的文本

responseHeaders:服務器返回的頭信息

status:服務器返回的http狀態碼,比如200

ChunkUploaded
當使用文件小片上傳功能時,每一個小片上傳完成后觸發

監聽函數參數:(uploader,file,responseObject)

uploader為當前的plupload實例對象,file為觸發此事件的文件對象,responseObject為服務器返回的信息對象,它有以下5個屬性:

offset:該文件小片在整體文件中的偏移量

response:服務器返回的文本

responseHeaders:服務器返回的頭信息

status:服務器返回的http狀態碼,比如200

total:該文件(指的是被切割成了許多文件小片的那個文件)的總大小,單位為字節

UploadComplete
當上傳隊列中所有文件都上傳完成后觸發

監聽函數參數:(uploader,files)

uploader為當前的plupload實例對象,files為一個數組,里面的元素為本次已完成上傳的所有文件對象

Error
當發生錯誤時觸發

監聽函數參數:(uploader,errObject)

uploader為當前的plupload實例對象,errObject為錯誤對象,它至少包含以下3個屬性(因為不同類型的錯誤,屬性可能會不同):

code:錯誤代碼,具體請參考plupload上定義的表示錯誤代碼的常量屬性

file:與該錯誤相關的文件對象

message:錯誤信息

Destroy
當調用destroy方法時觸發

監聽函數參數:(uploader)

uploader為當前的plupload實例對象

三、Plupload實例的屬性

屬性描述
idPlupload實例的唯一標識id
state當前的上傳狀態,可能的值為plupload.STARTEDplupload.STOPPED,該值由Plupload實例的stop()statr()方法控制。默認為plupload.STOPPED
runtime當前使用的上傳方式
files當前的上傳隊列,是一個由上傳隊列中的文件對象組成的數組
settings當前的配置參數對象
total表示總體進度信息的QueueProgress對象

四、Plupload實例的方法

方法描述
init()初始化Plupload實例
setOption(option, [value])設置某個特定的配置參數,option為參數名稱,value為要設置的參數值。option也可以為一個由參數名和參數值鍵/值對組成的對象,這樣就可以一次設定多個參數,此時該方法的第二個參數value會被忽略。
getOption([option])獲取當前的配置參數,參數option為需要獲取的配置參數名稱,如果沒有指定option,則會獲取所有的配置參數
refresh()刷新當前的plupload實例,暫時還不明白什么時候需要使用
start()開始上傳隊列中的文件
stop()停止隊列中的文件上傳
disableBrowse(disable)禁用或啟用plupload的文件瀏覽按鈕,參數disabletrue時為禁用,為false時為啟用。默認為true
getFile(id)通過id來獲取文件對象
addFile(file, [fileName])向上傳隊列中添加文件,如果成功添加了文件,會觸發FilesAdded事件。參數file為要添加的文件,可以是一個原生的文件,或者一個plupload文件對象,或者一個input[type="file"]元素,還可以是一個包括前面那幾種東西的數組;fileName為給該文件指定的名稱
removeFile(file)從上傳隊列中移除文件,參數file為plupload文件對象或先前指定的文件名稱
splice(start, length)從上傳隊列中移除一部分文件,start為開始移除文件在隊列中的索引,length為要移除的文件的數量,該方法的返回值為被移除的文件。該方法會觸發FilesRemoved?QueueChanged事件
trigger(name, Multiple)觸發某個事件。name為要觸發的事件名稱,Multiple為傳給該事件監聽函數的參數,是一個對象
hasEventListener(name)用來判斷某個事件是否有監聽函數,name為事件名稱
bind(name, func, scope)給某個事件綁定監聽函數,name為事件名,func為監聽函數,scope為監聽函數的作用域,也就是監聽函數中this的指向
unbind(name, func)移除事件的監聽函數,name為事件名稱,func為要移除的監聽函數
unbindAll()移除所有事件的所有監聽函數
destroy()銷毀plupload實例

五、文件對象的屬性和方法

在很多事件監聽函數中,都會提供文件對象給你

屬性/方法描述
id文件id
name文件名,例如"myfile.gif"
type文件類型,例如"image/jpeg"
size文件大小,單位為字節,當啟用了客戶端壓縮功能后,該值可能會改變
origSize文件的原始大小,單位為字節
loaded文件已上傳部分的大小,單位為字節
percent文件已上傳部分所占的百分比,如50就代表已上傳了50%
status文件的狀態,可能為以下幾個值之一:plupload.QUEUED,?plupload.UPLOADING,?plupload.FAILED,?plupload.DONE
lastModifiedDate文件最后修改的時間
getNative()獲取原生的文件對象
getSource()獲取mOxie.File 對象,想了解mOxie是什么東西,可以看下https://github.com/moxiecode/moxie/wiki/API
destroy()銷毀文件對象

六、QueueProgress 對象的屬性

plupload實例的total屬性是一個QueueProgress對象

屬性描述
size上傳隊列中所有文件加起來的總大小,單位為字節
loaded隊列中當前已上傳文件加起來的總大小,單位為字節
uploaded已完成上傳的文件的數量
failed上傳失敗的文件數量
queued隊列中剩下的(也就是除開已經完成上傳的文件)需要上傳的文件數量
percent整個隊列的已上傳百分比,如50就代表50%
bytesPerSec上傳速率,單位為 byte/s,也就是 字節/秒

七、plupload命名空間上的一些屬性

plupload的命名空間上有一些屬性,用來表示一些常量。記住,不是plupload實例的屬性,而是plupload的屬性

?

屬性名稱描述
VERSION當前plupload的版本號
STOPPED值為1,代表上傳隊列還未開始上傳或者上傳隊列中的文件已經上傳完畢時plupload實例的state屬性值
STARTED值為2,代表隊列中的文件正在上傳時plupload實例的state屬性值
QUEUED值為1,代表某個文件已經被添加進隊列等待上傳時該文件對象的status屬性值
UPLOADING值為2,代表某個文件正在上傳時該文件對象的status屬性值
FAILED值為4,代表某個文件上傳失敗后該文件對象的status屬性值
DONE值為5,代表某個文件上傳成功后該文件對象的status屬性值
GENERIC_ERROR值為-100,發生通用錯誤時的錯誤代碼
HTTP_ERROR值為-200,發生http網絡錯誤時的錯誤代碼,例如服務氣端返回的狀態碼不是200
IO_ERROR值為-300,發生磁盤讀寫錯誤時的錯誤代碼,例如本地上某個文件不可讀
SECURITY_ERROR值為-400,發生因為安全問題而產生的錯誤時的錯誤代碼
INIT_ERROR值為-500,初始化時發生錯誤的錯誤代碼
FILE_SIZE_ERROR值為-600,當選擇的文件太大時的錯誤代碼
FILE_EXTENSION_ERROR值為-601,當選擇的文件類型不符合要求時的錯誤代碼
FILE_DUPLICATE_ERROR值為-602,當選取了重復的文件而配置中又不允許有重復文件時的錯誤代碼
IMAGE_FORMAT_ERROR值為-700,發生圖片格式錯誤時的錯誤代碼
IMAGE_MEMORY_ERROR當發生內存錯誤時的錯誤代碼
IMAGE_DIMENSIONS_ERROR值為-702,當文件大小超過了plupload所能處理的最大值時的錯誤代碼

Plupload使用API

轉載于:https://www.cnblogs.com/zhuyongblogs/p/5221048.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/255902.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/255902.shtml
英文地址,請注明出處:http://en.pswp.cn/news/255902.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

廣告主產品推詞中的NLP

加詞&#xff0c;加產品&#xff0c;調價是廣告主的核心問題&#xff0c;為了解決廣告主加詞的問題在阿里巴巴以及速賣通的賬戶后臺提供了加詞利器——先知&#xff0c;一鍵解決廣告主煩惱&#xff0c;從此不再為加詞而憂愁。一 引言 在目前付費搜索引擎中&#xff0c;買詞和競…

Android 動態設置 layout_centerInParent

RelativeLayout.LayoutParams rp new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);rp.addRule(RelativeLayout.CENTER_IN_PARENT);記錄一下轉載于:https://www.cnblogs.com/IWings/p/6097134.html

tidevice.exceptions.MuxServiceError: Could not start service: com.apple.testmanagerd.lockdown.secure

錯誤是在進行利用pycharm IDE和airtest框架進行蘋果手機自動化測試遇到的 錯誤具體如下 [I 210715 10:32:34 _device:572] ProductVersion: 14.6 [I 210715 10:32:34 _device:551] Download https://tool.appetizer.io/iGhibli/iOS-DeviceSupport/raw/master/DeviceSupport/14…

機器人 工具坐標系的標定

概念 工具坐標系是把機器人腕部法蘭盤所握工具的有效方向定為Z軸&#xff0c;把坐標定義在工具尖端點&#xff0c;所以工具坐標的方向隨腕部的移動而發生變化。 工具坐標的移動&#xff0c;以工具的有效方向為基準&#xff0c;與機器人的位置、姿勢無關&#xff0c;所以進行相…

Linux內核分析— —計算機是如何工作的(20135213林涵錦)

實驗部分 &#xff08;以下命令為實驗樓64位Linux虛擬機環境下適用&#xff0c;32位Linux環境可能會稍有不同&#xff09; 使用 gcc –S –o main.s main.c -m32命令編譯成匯編代碼&#xff0c; int g(int x){ return x 6;} int f(int x){ return g(x);} int main(void){ r…

apache域名跳轉

①編輯虛擬主機配置文件/usr/local/apache2.4/conf/extra/httpd-vhosts.conf如下<VirtualHost *:80>DocumentRoot "/data/wwwroot/111.com"ServerName 111.comServerAlias www.example.com 2111.com.cnErrorLog "logs/111.com-error_log"CustomLog …

php 畫圖片2

<?php// 使用php操作gd庫做圖// 1. 創建一個畫布資源$im imagecreatetruecolor(200, 50);// 2. 創建背景色// 2.1 得到背景顏色$bg_color imagecolorallocate($im, mt_rand(200, 255), mt_rand(200, 255), mt_rand(200, 255));// 2.2 填充畫布imagefill($im, 0, 0, $bg_c…

ABB機器人ROBOTSTUDIO中軌跡與二次開發的問答

問&#xff1a; 在視頻學習里&#xff0c;robotstudio可以提取物體的某條輪廓來直接生成路徑。請問&#xff0c;1.如果要提取的是模型兩邊的中心線&#xff0c;也能直接生成路徑嗎&#xff1f;2.robotstudio有二次開發的功能嗎&#xff0c;比如對數據進行運算。我也不知道我說的…

【Python數據結構】——二叉平衡樹AVL(查找、構建、刪除、插入、打印、遍歷)

#!/usr/bin/env python # -*- coding: utf-8 -*- # Time : 2021/7/28 20:57 # Author : linlianqin # Site : # File : 二叉平衡樹專題&#xff08;創建、插入、查找&#xff09;.py # Software: PyCharm # description:二叉平衡樹的特點&#xff1a;在二叉查找樹的…

隨筆速記

LVM增加與縮小Swap分區操作 http://blog.sina.com.cn/s/blog_5f2ca1ed0101ebw8.html Ubuntu刪除多余內核 # dpkg --get-selections | grep linux # apt-get purge linux-headers-3.0.0-12 linux-image-3.0.0-12-generic # update-grub Ubuntu清理安裝包、已卸載軟件、已卸載軟件…

【測試開發】測試用例講解

文章目錄 目錄 文章目錄 前言 一、測試用例的基本要素 二、測試用例的設計方法 1.基于需求的設計方法 對日歷根據web界面的功能布局分析出的功能框圖如下&#xff1a; 繼續舉一個例子百度云盤非功能測試的案例&#xff1a; 2.等價類 3.邊界值 5.正交表 6.場景設計法 7…

Linux下進行Web服務器壓力(并發)測試工具http_load、webbench、ab、Siege、autobench簡單使用教程(轉)...

一、http_load 程序非常小&#xff0c;解壓后也不到100K http_load以并行復用的方式運行&#xff0c;用以測試web服務器的吞吐量與負載。但是它不同于大多數壓力測試工 具&#xff0c;它可以以一個單一的進程運行&#xff0c;一般不會把客戶機搞死。還可以測試HTTPS類的網站請求…

【Python數據結構】——并查集的實現(查找、合并、集合、實例)

#!/usr/bin/env python # -*- coding: utf-8 -*- # Time : 2021/7/30 23:12 # Author : linlianqin # Site : # File : 并查集專題&#xff08;合并、查找、集合&#xff09;.py # Software: PyCharm # description: 并查集其實就是多個數組&#xff0c;每一個數組都…

如何實現ABB機器人與老式焊機的連接控制

問題&#xff1a; 請教一個機器人與老式焊機如何連接&#xff0c;如何設置。 我現在是用SET指令設DO為1再外接繼電器來控制焊機工作的&#xff0c;用RESET指令來使焊機停止工作的。現在可 以焊接&#xff0c;但是如果中間停止或機器人報錯停止不動&#xff0c;焊機始終處于工作…

gitlab 雜記

GitLab 編譯部署 1&#xff0c;請盡量不要在國內主機上部署&#xff0c;中途天朝很有可能導致gem執行出現問題&#xff0c;以下在AWS上部署&#xff1b; 2&#xff0c;系統中必須要有swap分區&#xff0c;不然會出現500錯誤&#xff1b; 系統版本&#xff1a;CentOS 6.x x86_6…

Hadoop分布式系統的安裝部署

1、關于虛擬機的復制 新建一臺虛擬機&#xff0c;系統為CentOS7&#xff0c;再克隆兩臺&#xff0c;組成一個三臺機器的小集群。正常情況下一般需要五臺機器&#xff08;一個Name節點&#xff0c;一個SecondName節點&#xff0c;三個Data節點。&#xff09; 此外&#xff0c;為…

Windows線程調度學習(一)

前言 Windows 線程調度器的實現分散在內核各處&#xff0c;并且與許多組件都有關聯&#xff0c;很難進行系統地學習&#xff0c;所以我打算寫幾篇文章來記錄下自己學習過程中的思考和分析&#xff0c;同時也方便日后查閱&#xff0c;此文可以看作是《Windows內核原理與實現》中…

機器人的有效負荷

問題&#xff1a; 假如我想在程序里做多幾個有效載荷,但在手動操縱畫面上只能加一個,其它要怎樣用?給個實際例子給我啊. 回答&#xff1a; 在搬運中&#xff0c;確實是有載荷發生變化的情況&#xff0c;如兩抓(A B)的夾具&#xff0c;有三種載荷情況&#xff0c;1、A抓有載荷…

【Python生成readme文件】——Markdown語法

鏈接&#xff1a;https://www.cnblogs.com/wj-1314/p/8547763.html

編程之美2.13子數組的最大乘積

題目&#xff1a; 給定一個長度為N的數組&#xff0c;只許用乘法&#xff0c;不許用除法&#xff0c;計算任意&#xff08;N-1&#xff09;個數的組合中乘積最大的一個組&#xff0c;并寫出算法的時間復雜度。 如果把所可能的乘積找出來&#xff0c;共有&#xff08;N-1&#x…