大佬 9.0 版本,自定义JS 上传图片 到服务器时,参数应该怎么传递呀。 系统一直报400错误:
- function generateUUID() {
- return crypto.randomUUID ? crypto.randomUUID() : "10000000-1000-4000-8000-100000000000".replace(/[018]/g, function (c) {
- return (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16);
- });
- }
- //获取一个uuid;
- var Uid = generateUUID();
- console.log(Uid);
- var fileInput = document.getElementById('dynamicFileInput');
- // 文件对象,例如动态提案加的 <input type="file">获取.
- if (!fileInput) {
- fileInput = document.createElement('input');
- fileInput.type = 'file'; // 设置类型为文件
- fileInput.setAttribute('accept', 'image/*'); // 设置接受的文件类型为图片文件
- //fileInput.multiple = true; // 启用多选功能
- fileInput.style.display = 'none'; // 隐藏元素
- fileInput.id = 'dynamicFileInput'; // 给元素添加一个ID,以便以后可以查询到它
- document.body.appendChild(fileInput); // 将元素添加到文档中
- }
- fileInput.addEventListener('change', function (event) {
- // 创建一个FormData对象
- const files = event.target.files; // 获取选择的文件列表
- var file = fileInput.files[0]; // 获取选择的文件
- var formData = new FormData();
- // 将文件添加到FormData对象中
- formData.append('file', file, file.name);
-
- //添加uploadLimitId参数
- formData.append('uploadLimitId', Uid);
- // // 设置请求的headers,如果需要的话
- // var headers = {
- // 'Content-Type': 'multipart/form-data; boundary=----WebKitFormBoundaryhiJyoahBmhuOUMwx'//WebKitFormBoundaryiNHGXYEXdedFStAl
- // };
- // 使用fetch发送POST请求
- var appname = Forguncy.Helper.SpecialPath.getBaseUrl().replace(/\//g, '');//jgj
- var urlname = document.location.origin;
- var app = urlname + '/' + appname + '/FileDownloadUpload/UploadImage';//
- console.log(app);
- fetch(app, {
- method: 'POST',
- body: formData,
- // headers: headers, // 如果服务器需要特定的Content-Type,可以取消注释这一行
- })
- .then(response => {
- // 检查响应状态
- if (!response.ok) {
- // 如果响应状态码不是2xx,抛出错误
- throw new Error('Network response was not ok');
- }
- // 服务器返回的是text/plain类型的数据,使用.text()方法读取
- return response.text();
- })
- .then(text => {
- // 这里的text变量包含了服务器返回的文本数据
- console.log('图片地址', text);
- alert(text);
- })
- .catch((error) => {
- console.error('Error:', error);
- });
- });
- // 触发文件输入的点击事件,打开文件选择对话框
- fileInput.click();
复制代码 |