- 主题:上传文件可以改名吗?
用户把文件拖拽到页面上,通过js捕获到drop事件之后,我可以拿到一个文件列表,里面是一个个的File对象。然后把File对象存储到FormData里,我可以用jQuery.ajax或者XMLHttpRequest把文件上传到服务器。现在我希望传输前能改下名字。有办法做到吗?(服务器是第三方的,所以不能在服务器端改名)。
--
FROM 222.190.111.*
fileobj.name = new_name
--
FROM 101.80.151.*
这个我已经试过了,没有效果。可能chrome里这是个只读属性。
【 在 Orpherus (奥路菲) 的大作中提到: 】
: fileobj.name = new_name
--
FROM 222.190.111.*
没找到别的办法,现在用的方式是把文件用FileReader读到内存里,转成Blob,再用FormData.append(field, blob, filename)的方式指定文件名。缺点当然是如果文件比较大,会比较浪费内存。不过一般像水木附件这种小文件应该不是什么问题了。
【 在 Kneo (Kneo Fang) 的大作中提到: 】
: 这个我已经试过了,没有效果。可能chrome里这是个只读属性。
--
FROM 222.190.111.*
后台拿到文件后改名不是更方便?js来做力所不能及
【 在 Kneo (Kneo Fang) 的大作中提到: 】
: 用户把文件拖拽到页面上,通过js捕获到drop事件之后,我可以拿到一个文件列表,里面是一个个的File对象。然后把File对象存储到FormData里,我可以用jQuery.ajax或者XMLHttpRequest把文件上传到服务器。现在我希望传输前能改下名字。有办法做到吗?(服务器是第三方的,
--
FROM 114.113.197.*
原贴不是说了嘛,服务器是第三方(水木)的。
【 在 force2008 (force) 的大作中提到: 】
: 后台拿到文件后改名不是更方便?js来做力所不能及
--
FROM 222.190.111.*
改上作甚?没有意义。首先本地硬盘里面的文件你是不能动的,其次文件传到服务器上的名字你也决定不了,你改的名字就存在那么一会儿。
【 在 Kneo 的大作中提到: 】
: 原贴不是说了嘛,服务器是第三方(水木)的。
:
--
FROM 124.42.13.*
不了解需求的就不要考虑有没有意义了。
这个问题已经解决,不用浪费大家的时间继续讨论了。
【 在 dhcn (小石) 的大作中提到: 】
: 改上作甚?没有意义。首先本地硬盘里面的文件你是不能动的,其次文件传到服务器上的名字你也决定不了,你改的名字就存在那么一会儿。
--
FROM 175.150.128.*
咋解决的?
【 在 Kneo 的大作中提到: 】
: 不了解需求的就不要考虑有没有意义了。
: 这个问题已经解决,不用浪费大家的时间继续讨论了。
:
--
FROM 211.100.38.*
前面的回帖有。
【 在 zthenry (哇咔咔) 的大作中提到: 】
: 咋解决的?
--
FROM 175.148.128.*