通过本地文件路径上载文件
File-Upload via local file path
有没有一种方法可以通过文件路径上传文件?
默认的HTML文件上载控件显示一个禁用的文本框和一个按钮。当用户将文件的路径粘贴到文本框中时,是否可以通过JS或其他方式上传文件?
此网页位于公司内部网中。
不,在使用普通HTML/JavaScript的web应用程序中,这是不可能的。
用户选择文件的唯一方法是通过单击<input type="file" />
元素的浏览按钮打开文件对话框。
唯一可能的快捷方式是JS可以自动打开文件对话框,但这仍然是用户选择上传什么文件的唯一方式。
在可信网络中有一些小的可能性。不完全相同,但仍然是一个非常相似的问题:使用javascript 访问本地文件
我已经在电子应用中使用以下代码完成了文件上传
if (window.FormData !== undefined) {
var formData = new FormData();
let response = await fetch(path); // give local file path stored at appdata folder
let data = await response.blob();
formData.append("file", new File([data], "YourfileName"))
let _url = "api/webservice url";
$.ajax({
type: "POST",
url: _url,
contentType: false,
processData: false,
data: formData,
success: function (result) {
console.log(result);
},
error: function (xhr, status, p3, p4) {
var err = "Error " + " " + status + " " + p3 + " " + p4;
if (xhr.responseText && xhr.responseText[0] == "{")
err = JSON.parse(xhr.responseText).Message;
console.log(err);
}
});
} else {
alert("This browser doesn't support HTML5 file uploads!");
}
在服务器端(C#代码(
var provider = new MultipartMemoryStreamProvider();
await Request.Content.ReadAsMultipartAsync(provider);
// extract file name and file contents
var fileNameParam = provider.Contents[0].Headers.ContentDisposition.Parameters
.FirstOrDefault(p => p.Name.ToLower() == "filename");
string fileName = (fileNameParam == null) ? "" : ileNameParam.Value.Trim('"');
var divs = fileName.Split('.').ToList();
var ext = divs.LastOrDefault();
byte[] file = await provider.Contents[0].ReadAsByteArrayAsync();
// Here you can use EF with an entity with a byte[] property, or
// an stored procedure with a varbinary parameter to insert the
// data into the DB
var fileVM = new FileViewModel
{
AttachmentType = AttachmentTypeEnum.File,
FileName = fileName,
FileExtension = ext,
ContentType = MimeMapping.GetMimeMapping(fileName),
ContentLength = file.Length,
ContentByte = file,
};
相关文章:
- 将Windows文件路径组织到文件夹中
- 在ng中给出文件路径包括什么
- 无法在ajax调用中发布绝对文件路径-无论我做什么,它都会返回斜杠
- 用于在web服务器中上载的文件路径
- javascript文件中带有php(wordpress)的Src文件路径
- 在linux上使用软件包减少grunt的大小.文件路径对Jenkins来说太长
- 使用正则表达式angularjs验证文件路径
- 从不一致的文件路径数组中获取键的值
- 使用 jQuery 从 HTML 中的多个图像元素中删除文件路径
- 如何将本地文件路径转换为文件::?/url在node.js中的安全性
- 如何在dropzone.js中获取选定的文件路径
- 为什么在下面的场景中,用于存储所选文件名和文件路径的隐藏输入字段没有在表单上生成
- windows文件路径转换为mac
- 将文件路径从XSL传递到JavaScript函数
- 是否可以不在grunt中提及所有的脚本文件路径
- 输入类型文件将文件路径添加到范围
- Node Webkit从avi文件路径获取视频持续时间
- 如何将JavaScript文件路径映射到ASP.Net MVC控制器操作
- php文件上传返回文件和文件路径的有效性
- 通过document.location以javascript中的字符串形式传递文件路径