| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- function jietu_shishi(uid, cid, page, type) {
- html2canvas($('body')[0]).then(function(canvas) {
- // 获取截取图片路径
- const base64Url = canvas.toDataURL('image/png')
- // 后台操作处理
- const base64 = '<img src=' + base64Url + ' />'
- const file = dataURLtoFile_shishi(base64Url, '截图')
- beforeUpload_shishi(file, uid, cid, page, type)
- // $("body")[0].innerHTML = base64
- })
- }
- function dataURLtoFile_shishi(dataurl, filename) {
- let arr = dataurl.split(','),
- mime = arr[0].match(/:(.*?);/)[1],
- bstr = atob(arr[1]),
- n = bstr.length,
- u8arr = new Uint8Array(n)
- while (n--) {
- u8arr[n] = bstr.charCodeAt(n)
- }
- return new File([u8arr], filename, {
- type: mime
- })
- }
- function beforeUpload_shishi(nfile, uid, cid, task, tool, atool, type) {
- const file = nfile
- const credentials = {
- accessKeyId: 'AKIATLPEDU37QV5CHLMH',
- secretAccessKey: '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',
- } // 秘钥形式的登录上传
- window.AWS.config.update(credentials)
- window.AWS.config.region = 'cn-northwest-1' // 设置区域
- const bucket = new window.AWS.S3({
- params: {
- Bucket: 'ccrb'
- }
- }) // 选择桶
- if (file) {
- const params = {
- Key: file.name.split('.')[0] + new Date().getTime() + '.' + 'png',
- ContentType: file.type,
- Body: file,
- 'Access-Control-Allow-Credentials': '*',
- ACL: 'public-read',
- } // key可以设置为桶的相抵路径,Body为文件, ACL最好要设置
- const options = {
- partSize: 5 * 1024 * 1024,
- queueSize: 2,
- leavePartsOnError: true,
- }
- bucket.upload(params, options)
- .on('httpUploadProgress', function(evt) {
- // 这里可以写进度条
- // console.log("Uploaded : " + parseInt((evt.loaded * 80) / evt.total) + '%');
- }).send(function(err, data) {
- console.log(data.Location)
- const a = {
- name: file.name,
- url: data.Location,
- uid: file.uid,
- }
- addSWork_shishi(uid, cid, a, task, tool, atool, type)
- })
- }
- }
- function addSWork_shishi(uid, cid, a, task, tool, atool, type) {
- const params = {
- uid: uid,
- cid: cid,
- stage: '0',
- task: task,
- tool: tool,
- atool: atool,
- content: a.url,
- type: type,
- }
- $.ajax({
- type: 'GET',
- url: 'https://pbl.cocorobo.cn/api/pbl/addCourseWorks_workPage2',
- data: params,
- dataType: 'json',
- success: (data) => {
- console.log(data)
-
- const _a = document.getElementsByTagName('img')
- for (let i = 0; i < _a.length; i++) {
- _a[i].removeAttribute('crossorigin')
- }
- parent.PPTistStudent.successSubmit()
- console.log('截图上传成功')
- }
- })
- }
|