- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 ColdFusion 项目中使用 XHR block 上传。除扩展名为 .txt 的文件外,所有类型的文件都可以正常上传。当我尝试上传文本文件时,它将被上传并变空(文件大小变为 0 字节)。
为什么会发生这种情况?
这是我遇到的异常...
An exception occurred when executing method write.The cause of this exception was that: coldfusion.runtime.Cast$NumberConversionException: The value Hello this is a test file. cannot be converted to a number..
这是我的home.cfm
<html>
<head>
<title>Chunk Upload</title>
<style type="text/css">
.text-center{text-align: center;}
#alert{color: red}
#uploading, .filesize{color: red}
#success{color: green}
</style>
</head>
<body>
<script type="text/javascript">
var blobs = [];
function bytesToSize(bytes) {
var sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];
if (bytes == 0) return '0 Byte';
var i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)));
return Math.round(bytes / Math.pow(1024, i), 2) + ' ' + sizes[i];
};
/*
* function that uploads a fragment of the file
*/
function uploadChunk(blob, fileName, fileType, count){
var xhr = new XMLHttpRequest();
xhr.open('POST', 'chunkUpload.cfm', false);
xhr.onload = function(e){
document.getElementById("success").innerHTML = "Uploading... <span class='filesize'>" + count + "</span> MB";
}
xhr.setRequestHeader('X_FILE_NAME', fileName);
xhr.setRequestHeader('Content-Type', fileType)
// document.getElementById("uploading").innerHTML += "Uploading chunk of size " + blob.size + ".<br/>";
xhr.send(blob);
};
/*
* Invoke this function when the submit button is clicked.
*/
function uploadSubmit(){
var fileInputs = document.querySelectorAll('#userfile');
for (i = 0; i < fileInputs.length; i++) {
sliceFilesToFragments(fileInputs[i]);
}
};
/*
* function that slice the file into 1MB fragment
*/
function sliceFilesToFragments(input){
var count = 0;
var file = input.files[0];
// Upload 1 mb per chunk
var bytes_per_chunk = 1024 * 1024;
var start = 0;
var end = bytes_per_chunk;
var size = file.size;
document.getElementById("TotalSize").innerHTML += "Total File size <span class='filesize'>"+bytesToSize(size)+"</span>";
while (start < size) {
//push the fragments to an array
blobs.push(file.slice(start, end));
start = end;
end = start + bytes_per_chunk;
}
var blobArray = blobs.slice();
//upload the fragment to the server
while (blob = blobs.shift()) {
count++;
if(blobArray.length == count){
count = 'File Uploaded Successfully';
}
uploadChunk(blob, file.name, file.type, count);
}
};
</script>
<h2 class="text-center">Chunk Upload using XHR & CF</h2>
<form name="myform" method="post" enctype="multipart/form-data" >
<pre>
* notes *
1) Refresh Each time, before upload
2) Uploading 1 mb per chunk for now
3) To see the chunks: go to Chrome > inpect element > Network tab
</pre>
<pre>
Upload:<input type="file" id="userfile"><br>
</pre>
<pre>
<input type="button" id="submit" value="Submit" onclick="uploadSubmit()"><br>
</pre>
<pre><span id="TotalSize"></span></pre><br>
<pre><span id="success"></span></pre>
</form>
</body>
</html>
这是我的chunkUpload.cfm
<cfoutput>
<cfset headerData = getHTTPRequestData().headers>
<cfset content = getHTTPRequestData().content>
<cfset filePath = expandPath("./Uploads/") & "#headerData.X_FILE_NAME#">
<cfset fos = createObject("java", "java.io.FileOutputStream").init(filePath, true)>
<cfset fos.write(content)>
<cfset fos.close()>
</cfoutput>
有人可以帮我解决这个问题吗?
最佳答案
通过更改文件的内容类型解决了我的问题。如下更新您的内容类型
xhr.setRequestHeader('Content-Type', "application/octet-stream");
关于javascript - XHR block 上传在上传文本文件时出现一个问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46427330/
我的 blockly.js 文件中有以下代码 Blockly.Blocks['account_number'] = { // Other type. init: function() {
首先抱歉我的英语不好,我正在开发 Image Splitter 应用程序并且已经完成,但是现在的要求是当图像被分割(分成几 block /chunks)那么图像 block 的每一 block (ch
#value: 消息的返回值,当发送到一个 block 时,是该 block 中最后一句话的值。所以 [ 1 + 2. 3 + 4. ] value 计算结果为 7。我发现有时很难使用。有没有办法显式
我想构建一个包含 3 div 的响应式导航栏相同的 width和 height . 我申请了 inline-block到每个 block ,我得到一个我不理解的行为。 问题是,第三 block 由 2
我希望使用 Blockly 来允许非技术人员用户指定测试脚本。 它的一部分需要一个文件选择器,但是,我看不到 Blockly 有一个。是吗? 实际上,我找不到完整的标准 block 列表。谁有网址?
仅当您位于父 block 内部时,父 block 的 props.isSelected 才为 true,但当您在该 block 的 innerBlocks 内进行编辑时则不然。 如何从父 block
仅当您位于父 block 内部时,父 block 的 props.isSelected 才为 true,但当您在该 block 的 innerBlocks 内进行编辑时则不然。 如何从父 block
我想创建一个具有不同背景颜色 block 和不同悬停颜色 block 的导航栏 block 。我可以分别创建不同的悬停颜色 block 或不同的背景颜色 block ,但不能一起创建。所以请告诉我如何
我正在使用看到的代码 here定期执行代码: #define DELAY_IN_MS 1000 __block dispatch_time_t next = dispatch_time(DISPATC
为什么 block 必须被复制而不是保留?两者在引擎盖下有什么区别?在什么情况下不需要复制 block (如果有)? 最佳答案 通常,当您分配一个类的实例时,它会进入堆并一直存在,直到它被释放。但是,
我想弄清楚我这样做是否正确: 如果我有一个 block ,我会这样做: __weak MyClass *weakSelf = self; [self performBlock:^{
我想制作一个 4 block 导航菜单,虽然我已经显示了一个 block ,然后单击打开第二个 block ,从第二个开始选择并再次单击出现第三个 block ,第四个 block 相同...这是我的
例如,这样更好吗? try { synchronized (bean) { // Write something } } catch (Int
我想让一只乌龟检查前方小块的颜色并决定移动到哪里。如果前面的补丁不是白色的,那么乌龟向左或向右旋转并移动。我的 If 决策结构中出现错误,显示“此处应为 TRUE?FALSE,而不是 block 列表
我想创建一个 block 对角矩阵,其中对角 block 重复一定次数,非对角 block 都是零矩阵。例如,假设我们从一个矩阵开始: > diag.matrix [,1] [,2] [
我是区 block 链新手。突然我有一个问题,我们是否可以通过区 block 号来访问以太坊区 block 链上之前的区 block 数据。 例如我创建了一个block1、block2。 block
我是区 block 链新手。突然我有一个问题,我们是否可以通过区 block 号来访问以太坊区 block 链上之前的区 block 数据。 例如我创建了一个block1、block2。 block
我创建了一个等距环境,全部使用 Javascript 和 HTML5 (2D Canvas),大部分情况下工作正常。我面临的问题是使用不同高度的图 block ,然后对图 block 上的对象索引进行
这是令我困惑的代码: public Integer getInteger(BlockingQueue queue) { boolean interrupted = false; try
我有一个基于 TPL 数据流的应用程序,它仅使用批处理 block 和操作 block 就可以正常工作。 我已经添加了一个 TransformBlock 以尝试在发布到批处理 block 之前从源中转
我是一名优秀的程序员,十分优秀!