【问题标题】:How do I insert an uploaded image into an <IMG> tag/placeholder?如何将上传的图片插入 <IMG> 标签/占位符?
【发布时间】:2020-06-02 07:56:55
【问题描述】:

如何将上传的图片插入到 html 标签中? 是否可以创建一个 标签作为上传图片的占位符?

我可以选择带有“”的图像,然后我想将该图像发送到 img 占位符。

用户关闭网站后是否可以从占位符中删除上传的图片?

非常感谢!

【问题讨论】:

  • 请查看this
  • 感谢@TatvasoftCorp,它成功了。你知道当用户上传图片时如何裁剪图片吗?
  • 可以使用Jcrop裁剪图片
  • @TatvasoftCorp 哦,对不起,我不需要裁剪功能。我的意思是图片在上传后只是调整为 witdh="96px" 。我使用此功能进行上传:jsfiddle.net/LvsYc
  • 我猜你想调整图像大小只是为了在 img 标签中显示调整大小的图像,你可以给 img 标签宽度

标签: javascript php html


【解决方案1】:

尝试使用画布裁剪图像

const updateImageDisplay = () => {
  const input = document.querySelector('input');
  const previewContainer = document.querySelector('.previewContainer');
  [...input.files].forEach(file => {
      var canvas = document.createElement('canvas');
      var context = canvas.getContext('2d');
      var imageObj = new Image();
      imageObj.onload = function() {
        var sourceX = 150;
        var sourceY = 0;
        var sourceWidth = 150;
        var sourceHeight = 150;
        var destWidth = sourceWidth;
        var destHeight = sourceHeight;
        var destX = canvas.width / 2 - destWidth / 2;
        var destY = canvas.height / 2 - destHeight / 2;

        context.drawImage(imageObj, sourceX, sourceY, sourceWidth, sourceHeight, destX, destY, destWidth, destHeight);
      };
      imageObj.src = URL.createObjectURL(file);
      previewContainer.appendChild(canvas);
  })
}

【讨论】:

  • 但是代码是否在上传时自动将原始图像大小裁剪为 96px?或者这个代码是在上传后裁剪它。我想“裁剪”图像是我的错。我的意思是我只需要将上传图像的原始大小调整为宽度 96px。可能吗?如果我将宽度添加到 标记并将该图像选择到我的图表中,它只是具有原始大小,而不是 96px 宽度。
  • 如果你想在上传图片到服务器之前进行裁剪,你可以使用一些外部库来帮助裁剪,比如cropperjs
【解决方案2】:

你可以这样试试

<input type="file" id="docpicker" accept="image/*" onChange={updateImageDisplay} multiple></input>
<div class="previewContainer">
   <p>No files currently selected for upload</p>
</div>
const updateImageDisplay = ss => {
  const input = document.querySelector('input');
  const previewContainer = document.querySelector('.previewContainer');
  [...input.files].forEach(file => {
    const image = document.createElement('img');
    image.src = URL.createObjectURL(file);
    previewContainer.appendChild(image);
  })
}

【讨论】:

  • 感谢您的回答。你能告诉我如何裁剪(同时)上传的图像吗?
  • 您可以使用画布进行裁剪。我附上了答案
【解决方案3】:

第一个“src”称为“属性”

你必须做什么

1-在服务器上找到您的图像->查看您首先将文件上传到哪里

2-取文件的路径,放到“src”“属性”里面

例如:

1-你上传了图片让我们说项目/图片

2-你的图片路径将在 project/images/image.jpg

3-把这部分放在src属性里面

 src="project/images/image.jpg"

【讨论】:

猜你喜欢
  • 2017-02-25
  • 2012-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-30
  • 2019-05-04
  • 2021-11-18
  • 2019-06-11
相关资源
最近更新 更多