今天用express进行文件上传时出现错误如下:
Error: UNKNOWN, rename 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\e991f2e0a840da6c1040f
指定文件上传目录代码如下:
fs.rename(tmp_path, target_path, function(err) {
console.log(err);
if (err) throw err;
// 删除临时文件夹文件,
fs.unlink(tmp_path, function() {
if (err) throw err;
res.send('File uploaded to: ' + target_path + ' - ' + req.files.thumbnail.size + ' bytes');
});
});
分析如下UNKNOWN未知的,就是说在rename时发现什么东西是未知的,然后我打印了path:
temp_path=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\e991f2e0a840da6c1040f20630ffd601
target_path=e:/public/images/%C7%E0%CD%AD%B9%C5%B6%AD84.jpg
查了一下发现:fs的rename 不允许跨 分区移动文件
那是不是把e:/public/images/%C7%E0%CD%AD%B9%C5%B6%AD84.jpg改为c:/public/images/%C7%E0%CD%AD%B9%C5%B6%AD84.jpg就行了,结果测试上传成功
分享到:
相关推荐
7. **ERROR命令:** 报告错误。 - 示例:`error "An error occurred"` 8. **RETURN命令:** 从过程中返回。 - 示例:`return "Result"` 9. **EXIT命令:** 终止脚本执行。 - 示例:`exit 0` #### 九、过程与...
puts "Unknown" } } ``` - **eval命令** - 用于执行动态构建的命令序列。例如: ```tcl set cmd "puts hello" eval $cmd ``` - **source命令** - 用于读取并执行文件中的命令。例如: ```tcl source ...
本教程将详细讲解TCL的基本语法、数据结构、流程控制、错误处理以及与C/C++的交互。 1. **语法** - **脚本、命令和单词符号**:TCL脚本由命令组成,命令由单词构成,单词之间通过空格分隔。命令可以是内置的或者...
puts "Unknown fruit" } } ``` - **`eval`命令**:执行一个字符串作为命令。 - **示例**: ```tcl eval "puts Hello" ``` - **`source`命令**:读取并执行另一个TCL文件。 - **示例**: ```tcl source ...
- **错误处理**:使用`catch`命令捕获并处理运行时发生的错误。 ##### 其他异常 - **异常处理**:TCL支持对特定类型的异常进行捕获和处理。 #### 十、深入TCL ##### 查询数组中的元素 - **元素信息**:使用`info ...
TCL提供了一种机制来处理错误和异常情况。 **1. 错误** 当发生错误时,TCL会抛出一个错误消息。 **2. 从TCL脚本中产生错误** 可以显式地抛出错误: ```tcl error "Something went wrong." ``` **3. 使用catch...
Tcl提供了一种特殊的置换机制——反斜杠置换,用于处理特殊字符。例如,`\n`表示换行,`\t`表示制表符。例如: ```tcl puts "This is a newline:\nAnd this is another line." ``` 这将输出: ``` This is a ...
除了标准的错误处理外,TCL还支持其他类型的异常处理,如信号处理等。 #### 深入TCL TCL提供了更多高级功能,如查询数组中的元素、获取命令的信息等。 ##### 查询数组中的元素 可以使用 `array` 命令来管理数组...
当遇到无法处理的情况时抛出错误。 例如: ```tcl if {$a error "a should be non-negative" } ``` ##### 10.2 从TCL脚本中产生错误 使用`error`命令手动触发错误。 ##### 10.3 使用catch捕获错误 通过`catch`...
TCL提供了错误处理机制。 ##### 10.1 错误 - **发生错误**:TCL会打印错误消息并终止执行。 ##### 10.2 从TCL脚本中产生错误 - 通过`error message`命令手动抛出错误。 ##### 10.3 使用catch捕获错误 - 用途:...
TCL解释器处理命令时分为两个主要步骤:分析和执行。在分析阶段,解释器会将命令分割成单独的单词,并进行必要的置换。主要有以下几种类型的置换: - **变量置换(Variable Substitution)** 变量置换允许你在...
### Free Pascal 错误代码详解 #### 运行时错误概览 ...理解并处理 Free Pascal 的运行时错误对于编写健壮的程序至关重要。通过对上述错误的详细解释,希望能帮助开发者们更高效地排查问题并改进代码质量。
**错误处理**对于确保脚本的健壮性和可用性至关重要。 - **错误**: 当TCL脚本遇到问题时,会抛出错误消息。 - **从TCL脚本中产生错误**: 使用 `error` 命令主动抛出错误。 - **使用catch捕获错误**: 通过 `catch` ...
支持指定参数的默认值以及处理不确定数量的参数。 ``` proc myproc {arg1 arg2 {arg3 "default"}} { # ... } proc myproc {args} { # ... } ``` - **引用:upvar** 允许过程修改外部变量。 ``` ...