找回密码
 立即注册

QQ登录

只需一步,快速开始

fans0123
金牌服务用户   /  发表于:2023-5-22 19:43  /   查看:2257  /  回复:7
1金币
本帖最后由 Simon.Sun 于 2023-6-9 17:58 编辑

9030版  内置图片上传  采用拖拽方式上传图片,报错。  80105 及我用过的 历史版本  没有出现过。

查论坛,之前有贴同样。


图片上传bug - 活字格专区 - 求助中心 - 葡萄城产品技术社区 (grapecity.com.cn)





附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

大佬,我这边接收到的消息是在9版本不支持拖曳上传是一个Bug,编号F-15876,我们将会在后面的版本修复这个问题,并通知到您。 您目前可以使用点击图片上传框从弹出的对话框中选择要上传的图片,感谢您对活字格的理解和支持~

评分

参与人数 1金币 +1000 收起 理由
Simon.Sun + 1000 感谢反馈

查看全部评分

7 个回复

倒序浏览
最佳答案
最佳答案
Shawn.Liu活字格认证
超级版主   /  发表于:2023-5-22 19:43:54
来自 5#
fans0123 发表于 2023-5-23 11:18
是明确不支持了,还是等下一版本解决。换插件涉及该改数据库字段,我的历史记录咋办?
大家都要习惯了,一 ...

大佬,我这边接收到的消息是在9版本不支持拖曳上传是一个Bug,编号F-15876,我们将会在后面的版本修复这个问题,并通知到您。
您目前可以使用点击图片上传框从弹出的对话框中选择要上传的图片,感谢您对活字格的理解和支持~
回复 使用道具 举报
Shawn.Liu活字格认证
超级版主   /  发表于:2023-5-23 09:28:09
2#
大佬,已复现该问题哈,经过查看浏览器控制台Network的信息,内置图片上传单元格,请求路径为:/FileDownloadUpload/UploadImage,8.0.105版本POST请求参数只有file,直接拖曳上传;

9.0.3版本正常点击图片上传单元格后选择图片上传,新版后台接口新增了uploadLimitId参数,这里参数格式正常;

当使用拖曳方式上传时,这里的uploadLimitId参数为null,后台判断了参数返回了400的响应码;

这边建议您可以选择您提到的帖子里的解决方案,使用FilePreviewer插件拖曳上传(9.0.3测试正常);或者单击图片上传框可以从弹出的对话框中选择要上传的图片的方式。




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
fans0123
金牌服务用户   /  发表于:2023-5-23 11:18:31
3#
本帖最后由 fans0123 于 2023-5-23 11:22 编辑

是明确不支持了,还是等下一版本解决。换插件涉及该改数据库字段,我的历史记录咋办?
大家都要习惯了,一时间不能用,想想都不能接受。大家都痛苦啊!
回复 使用道具 举报
Shawn.Liu活字格认证
超级版主   /  发表于:2023-5-23 11:52:42
4#
fans0123 发表于 2023-5-23 11:18
是明确不支持了,还是等下一版本解决。换插件涉及该改数据库字段,我的历史记录咋办?
大家都要习惯了,一 ...

收到大佬,我这边去反馈下,看下未来图片上传单元格的策略哈
回复 使用道具 举报
Simon.hu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2023-6-14 17:05:21
6#
此bug已经在9.0.4.0中修复,请到官网下载最新版本活字格
回复 使用道具 举报
Bruce86
注册会员   /  发表于:2024-5-27 15:16:53
7#
Simon.hu 发表于 2023-6-14 17:05
此bug已经在9.0.4.0中修复,请到官网下载最新版本活字格

大佬 9.0 版本,自定义JS 上传图片 到服务器时,参数应该怎么传递呀。 系统一直报400错误:

  1. function generateUUID() {
  2.     return crypto.randomUUID ? crypto.randomUUID() : "10000000-1000-4000-8000-100000000000".replace(/[018]/g, function (c) {
  3.         return (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16);
  4.     });
  5. }
  6. //获取一个uuid;
  7. var Uid = generateUUID();
  8. console.log(Uid);

  9. var fileInput = document.getElementById('dynamicFileInput');
  10. // 文件对象,例如动态提案加的 <input type="file">获取.
  11. if (!fileInput) {
  12.     fileInput = document.createElement('input');
  13.     fileInput.type = 'file'; // 设置类型为文件
  14.     fileInput.setAttribute('accept', 'image/*'); // 设置接受的文件类型为图片文件
  15.     //fileInput.multiple = true; // 启用多选功能
  16.     fileInput.style.display = 'none'; // 隐藏元素
  17.     fileInput.id = 'dynamicFileInput'; // 给元素添加一个ID,以便以后可以查询到它
  18.     document.body.appendChild(fileInput); // 将元素添加到文档中
  19. }

  20. fileInput.addEventListener('change', function (event) {
  21.     // 创建一个FormData对象
  22.     const files = event.target.files; // 获取选择的文件列表
  23.     var file = fileInput.files[0]; // 获取选择的文件
  24.     var formData = new FormData();

  25.     // 将文件添加到FormData对象中
  26.     formData.append('file', file, file.name);
  27.    
  28.     //添加uploadLimitId参数
  29.     formData.append('uploadLimitId', Uid);

  30.     // // 设置请求的headers,如果需要的话
  31.     // var headers = {
  32.     //     'Content-Type': 'multipart/form-data; boundary=----WebKitFormBoundaryhiJyoahBmhuOUMwx'//WebKitFormBoundaryiNHGXYEXdedFStAl


  33.     // };

  34.     // 使用fetch发送POST请求
  35.     var appname = Forguncy.Helper.SpecialPath.getBaseUrl().replace(/\//g, '');//jgj
  36.     var urlname = document.location.origin;
  37.     var app = urlname + '/' + appname + '/FileDownloadUpload/UploadImage';//

  38.     console.log(app);
  39.     fetch(app, {
  40.         method: 'POST',
  41.         body: formData,
  42.         // headers: headers, // 如果服务器需要特定的Content-Type,可以取消注释这一行
  43.     })
  44.         .then(response => {
  45.             // 检查响应状态
  46.             if (!response.ok) {
  47.                 // 如果响应状态码不是2xx,抛出错误
  48.                 throw new Error('Network response was not ok');
  49.             }
  50.             // 服务器返回的是text/plain类型的数据,使用.text()方法读取
  51.             return response.text();
  52.         })
  53.         .then(text => {
  54.             // 这里的text变量包含了服务器返回的文本数据

  55.             console.log('图片地址', text);
  56.             alert(text);
  57.         })
  58.         .catch((error) => {
  59.             console.error('Error:', error);
  60.         });
  61. });

  62. // 触发文件输入的点击事件,打开文件选择对话框
  63. fileInput.click();
复制代码
回复 使用道具 举报
Shawn.Liu活字格认证
超级版主   /  发表于:2024-5-27 18:09:48
8#
Bruce86 发表于 2024-5-27 15:16
大佬 9.0 版本,自定义JS 上传图片 到服务器时,参数应该怎么传递呀。 系统一直报400错误:

大佬,这边看您已经发新帖处理了,后面在新帖中交流哈

9.1 如何调用图片上传控件
https://gcdn.grapecity.com.cn/showtopic-219848-1-1.html
(出处: 葡萄城开发者社区)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部